プログラム :ループ中にイベントを実行させる(DoEvent)

VB2008でDoEventを使いループ中にイベントを発生させる使用例サンプルです。

プログラムへ



例えばループ実行中に、ラベルやテキストボックスに経過を表示させようとすると、ループ終了時に結果が表示されるだけで、
ループ中の経過はうまく表示できません。
ループ中に、 Application.DoEvents()を挿入するとそれが表示できるようになります。

■実行画面
「DoEventなし」では1000と表示されるだけです。
「DoEventあり」では、途中の数値が表示されます。
DoEvent関数 実行フォーム

■実行コード

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim j As Integer

For i = 1 To 1000
Label1.Text = i

For j = 1 To 60000

Next
Next

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer
Dim j As Integer

For i = 1 To 1000
Label2.Text = i
'Doevent
Application.DoEvents()

For j = 1 To 60000

Next
Next
End Sub
End Class


Visual Basic 2008 Express Edition実践入門