WindowsFormsApplicationBase.DoEvents メソッド
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)


詳細については、Visual Basic のトピック「My.Application.DoEvents メソッド」を参照してください。
My.Application.DoEvents メソッドは、コードの実行中に発生する可能性のある他のイベントを、アプリケーションが処理できるようにします。My.Application.DoEvents メソッドと DoEvents メソッドの動作は同じです。
Windows フォーム アプリケーションを実行すると、新しいフォームが作成され、フォームはイベントが処理されるまで待機します。フォームがイベント (ボタンのクリックなど) を処理するたびに、イベントに関連付けられたコードがすべて処理されます。その他のイベントはすべてキュー内で待機します。コードでイベントを処理している間は、アプリケーションによる応答はありません。たとえば、ウィンドウを別のウィンドウの上にドラッグする場合は、ウィンドウは再描画されません。
コード内で My.Application.DoEvents を呼び出すと、アプリケーションで他のイベントを処理できます。たとえば、ループ処理で ListBox にデータを追加するとき、ループの各ステップの後に My.Application.DoEvents を呼び出すようにしておけば、別のウィンドウがフォーム上にドラッグされてもフォームは再描画されます。コードから My.Application.DoEvents を削除した場合は、ボタンの Click イベント ハンドラが実行を完了するまでフォームは再描画されません。
通常は、ループでこのメソッドを使用してメッセージを処理します。
![]() |
---|
ユーザー インターフェイス (UI) のイベントを処理するメソッドから My.Application.DoEvents メソッドを呼び出した場合、イベントの処理が完了する前に、同じメソッドが再実行される場合があります。これは、My.Application.DoEvents メソッドによって Windows メッセージが処理されるとき、Windows メッセージによってイベントが生成される可能性があるためです。 |
My.Application.DoEvents メソッドを使ったタスクの例を次の表に示します。

この例では、My.Application.DoEvents メソッドを使用して、TextBox1 の UI を更新できるようにしています。
Private Sub TestDoEvents() For i As Integer = 0 To 10000 TextBox1.Text = i.ToString My.Application.DoEvents() Next End Sub
このコードは、テキスト ボックスの Text プロパティを使用しているため、TextBox1 コンポーネントの配置されたフォームに記述する必要があります。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からWindowsFormsApplicationBase.DoEvents メソッドを検索する場合は、下記のリンクをクリックしてください。

- WindowsFormsApplicationBase.DoEvents メソッドのページへのリンク