イベント クラスの宣言とハンドラ WithEvents Handles vb.net入門

      2017/07/21

イベント クラスの宣言とハンドラ WithEvents Handles

イベントは発生しただけでは意味ありません。
処理をしないとね。

WithEventsを使用するとイベントを持ったクラスを作成できます。

イベントを持ったクラスの宣言
WithEvents 変数名 As New イベントを宣言したクラス

イベントハンドラの定義
Sub 変数名 Handles イベントのクラスとイベント名

正確には違うますが
Handles の後ろで紐付けられてます。

ボタンクリックを見てもらえば何となくわかると思います。

サンプルソース

Public Class Form1
Event sample()
WithEvents sampleevnt As New Form

Sub eventsample() Handles Me.sample
MsgBox("イベント処理しました。")
End Sub

Sub main()
RaiseEvent sample()

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Call main()
End Sub
End Class

サンプルソースの Sub mainはエントリーポイント的な奴ではなく
ただのサブルーチンですw

実行結果は
イベント処理しました。が表示されます。

まあ、画面分けるのがメンドクサイかったのでそのまま書きました。
説明のためにWithEventsを宣言してますがいらないです。

WithEvents sampleevnt As New Form

を削除しても動きます。

何故なら別のクラスで作成することを想定していて
わざわざを宣言してます。

WithEventsをdimに変えたらただのクラスの宣言ですよね。

普通は分けて書きますから使うんですがね。

PR



 - vb.netさんぷる

Translate »