最近想實現一個控制,就是winform程序向通過socket協議進行數據指令的收發,收到對應的指令啟動timer的控件執行timer控件操作的內容,但是發現通過了socket之後就不再執行timer事件中的語句了,如果換做用system.timers.timer 發現使用過程不好控制。求各位大神支個招,解釋下為什麼?
只要實現的話,貼這個
this.Invoke(new Action(()=>{
timer1.Enable=true;
}));
沒編譯,大概是這樣。
聽起來是用winform的timer不能跨線程調用,而收socket的是一個子線程,又不想用跨線程的timer,發個委托給主線程就行。