1樓:匿名使用者
會完成。但是需要注意:
1.system.windows.
forms.timer 是單執行緒的,它只在ui執行緒中執行,定時精度約55ms,當前的事件沒處理完成時,下一次事件不會觸發;過久地處理會導致介面假死。
2.system.threading.timer 是多執行緒的,觸發的事件在threadpool裡面的執行緒中執行,所以當前事件沒處理完成時,也會另開一個新執行緒處理。
2樓:
你需要用new thread,多執行緒處理,但是跨執行緒取值是比較麻煩的,最好能採用別的辦法。
比如:先把timer關掉,執行程式,執行完,開啟timer
3樓:匿名使用者
會完成複製吧。最後的效果也許是你延時5秒。拷貝東西10秒,再延時5秒,後面再幹別的什麼的。
也就是說你的間隔五秒要在第一次事件結束以後才開始重新計時。
4樓:匿名使用者
object sender, eventargs e)private void button1_click(object sender, eventargs e)
else
}private void timer1_tick(object sender, eventargs e)
5樓:匿名使用者
system.threading.timer 是一個類。不僅在窗體程式中可以使用,在控制檯程式,在windows服務中都可以使用。
使用的大體**如下:
system.timers.timer timer = new system.timers.timer();
timer.autoreset = true;
timer.interval = 1000d;
timer.enabled = true;
timer.elapsed += new system.timers.elapsedeventhandler(timer_elapsed);
void timer_elapsed(object sender, system.timers.elapsedeventargs e)
其實用法和form裡面的按個timer是一樣的,你在form上把timer控制元件拖到窗體上之後可以看看窗體對應的那個designer.cs檔案裡相關的**。
6樓:匿名使用者
timer控制元件每到時間間隔後,會啟動一個執行緒,執行elapsed方法裡的**。
你所說的控制元件間隔是5s,執行語句需要10s,這不會有問題,因為他們是2個執行緒。除非你在這兩個執行緒中使用了公共的變數,或使用了相同的io資源,會產生問題。
c#中,關於timer控制元件的說法正確的是().【選2項】
7樓:匿名使用者
b,dinterval以毫秒為單位
啟動計時器方法為start(),不是run()
c#中timer控制元件不執行,幫幫我
8樓:vc程式設計師
在窗體上加上一個textbox(textbox1)和一個timer(timer1)控制元件.
設定timer控制元件屬性:enabled:true,其餘預設.
在timer控制元件事件:tick事件中新增**:
private void timer1_tick(object sender, eventargs e)
然後執行.
效果:在textbox1中顯示當前的日期和時間.
我試了,沒有任何問題!
C中控制元件的Focus 和GotFocus 的區別
一個是方法呼叫,一個是事件處理 focus 是說吧焦點放到這個控制元件上 gotfocus是在焦點到這個控制元件上的時候你需要讓它發生點什麼事情.例如建構函式中寫 this.textbox1.gotfocus new eventhandler textbox1 gotfocus 註冊事件 void ...
C中如何使用SerialPort控制元件向微控制器傳送資料
其實很簡單,設定幾個引數即可,下面是我寫的從串列埠讀取ds18b20發回溫度的例子。namespace 串列埠通訊 private void form1 load object sender,eventargs e private void timer1 tick object sender,eve...
c中如何跨執行緒呼叫windows控制元件
在輔助執行緒呼叫 在建立輔助執行緒時可將此方法通過delegate傳到輔助執行緒中 下面的方法invokecontrol 寫在主執行緒中 windows控制元件 private void invokecontrol private void changetext public delegate vo...