WindowsFormsApplicationBase.DoEvents 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
處理目前在訊息佇列中的所有 Windows 訊息。
public:
void DoEvents();
public void DoEvents ();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()
範例
這個範例會 My.Application.DoEvents
使用 方法來允許UI TextBox1
更新。
Private Sub TestDoEvents()
For i As Integer = 0 To 10000
TextBox1.Text = i.ToString
My.Application.DoEvents()
Next
End Sub
此程式代碼應該採用具有 TextBox1
屬性之元件的 Text
表單。
備註
方法 My.Application.DoEvents
可讓應用程式處理程式碼執行時可能會引發的其他事件。 方法 My.Application.DoEvents
的行為 DoEvents 與方法相同。
當您執行 Windows Forms 應用程式時,它會建立新的窗體,然後等候處理事件。 每當表單機處理事件時,例如按下按鈕,就會處理與該事件相關聯的所有程式代碼。 所有其他事件都會在佇列中等候。 雖然您的程式代碼會處理事件,但您的應用程式不會回應。 例如,如果另一個視窗拖曳在頂端,則視窗不會重新繪製。
如果您在程式代碼中呼叫 My.Application.DoEvents
,您的應用程式可以處理其他事件。 例如,如果您的程式代碼在迴圈中將數據新增至 ListBox ,並在其呼叫 My.Application.DoEvents
的每個迴圈步驟之後,您的窗體會在拖曳另一個視窗時重新繪製。 如果您從程式代碼中移除 My.Application.DoEvents
,在按鈕的 click 事件處理程式執行完成之前,您的表單將不會重新繪製。
一般而言,您會在迴圈中使用此方法來處理訊息。
注意
My.Application.DoEvents
方法不會使用與表單相同的方式來處理事件。 使用多線程讓窗體直接處理事件。 如需詳細資訊,請參閱使用執行緒和執行緒處理。
警告
如果處理使用者介面的方法 (UI) 事件呼叫 My.Application.DoEvents
方法,方法可能會在完成之前重新輸入。
My.Application.DoEvents
這是因為方法會處理 Windows 訊息,而 Windows 訊息可能會引發事件。
下表列出涉及 My.Application.DoEvents
方法的工作範例。
收件者 | 請參閱 |
---|---|
允許表單在忙碌時回應UI輸入 | 逐步解說:處理事件 |
依專案類型的可用性
專案類型 | 可用 |
---|---|
Windows Forms 應用程式 | 是 |
類別庫 | 否 |
主控台應用程式 | 否 |
Windows Form 控制項程式庫 | 否 |
Web 控制項程式庫 | 否 |
Windows 服務 | 否 |
網站 | 否 |