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 フォーム アプリケーションを実行すると、新しいフォームが作成され、イベントが処理されるまで待機します。 フォームは、ボタンクリックなどのイベントを処理するたびに、そのイベントに関連付けられているすべてのコードを処理します。 その他のすべてのイベントは、キュー内で待機します。 コードがイベントを処理している間、アプリケーションは応答しません。 たとえば、別のウィンドウを上にドラッグしても、ウィンドウは再描画されません。
コードで を呼び出 My.Application.DoEvents
すと、アプリケーションは他のイベントを処理できます。 たとえば、コードがループ内の にデータを ListBox 追加し、ループの各ステップの後に を呼び出 My.Application.DoEvents
すと、別のウィンドウがドラッグされたときにフォームが再描画されます。 コードからを削除 My.Application.DoEvents
した場合、ボタンのクリック イベント ハンドラーの実行が完了するまで、フォームは再描画されません。
通常、このメソッドはループ内で使用してメッセージを処理します。
Note
My.Application.DoEvents
メソッドがイベントを処理する方法は、フォームによる方法とは一部異なります。 マルチスレッドを使用して、フォームでイベントを直接処理します。 詳細については、「スレッドの使用とスレッド処理」を参照してください。
注意事項
ユーザー インターフェイス (UI) イベントを処理するメソッドが メソッドを My.Application.DoEvents
呼び出した場合、メソッドは終了する前に再入力される可能性があります。 これは、メソッドが Windows メッセージを My.Application.DoEvents
処理し、Windows メッセージがイベントを発生させる可能性があるために発生する可能性があります。
次の表に、 メソッドを含むタスクの例を My.Application.DoEvents
示します。
終了 | 解決方法については、 |
---|---|
ビジー状態の間にフォームが UI 入力に応答できるようにする | チュートリアル: イベントの処理 |
プロジェクトの種類別の可用性
プロジェクトの種類 | 使用可能 |
---|---|
Windows フォーム アプリケーション | はい |
クラス ライブラリ | いいえ |
コンソール アプリケーション | いいえ |
Windows フォーム コントロール ライブラリ | いいえ |
Web コントロール ライブラリ | いいえ |
Windows サービス | いいえ |
Web サイト | いいえ |
適用対象
こちらもご覧ください
.NET