2011-05-20 109 views
0

我有三個事件觸發按鈕單擊。Vb.Net等待進程30secs

運行第一個事件後,我想等待30秒等待nex事件觸發。

我該如何等待(我的意思是循環30秒)。

感謝, 納格

+0

使用計時器...... – 2011-05-20 09:51:48

+0

http://msdn.microsoft.com/en-us/magazine/cc164015.aspx – 2011-05-20 09:52:11

回答

6

你可以試試這個直接代碼:

MessageBox.Show("Test") ' Execute your method 1 
    System.Threading.Thread.Sleep(30000) 
    MessageBox.Show("Test2") ' Proceed with the other one :) 
0

可以使用線程System.Threading.Thread.Sleep(30000);舉行執行。

0

使用定時器,並設置爲30秒的間隔到定時器(1sec = 1000)

timer1.Interval=30000 
2

如果等待UI線程還是會阻塞整個用戶界面和Windows會顯示您的應用程序無響應。

不如:

  • 更新UI,以顯示它是忙,包括禁用控制以阻止用戶輸入。
  • 使用定時器控件(詳細信息取決於WinForms或WPF)在時間延遲後觸發事件
  • 在定時器的事件處理程序中執行該操作。

如果工作是CPU或IO密集型(即可能阻塞超過幾十毫秒),則在線程池中執行該工作(例如,BackgroundWorker組件)。請記住,您需要使用Control.Invoke從工作線程對UI進行任何更改。