2

動的に作成されたメニュー項目にクリック イベントを追加するにはどうすればよいですか?

私は次のようなことができると思った

Menu1.DropDownItems 内のすべてのアイテムをループしてから、そのアイテムでもマウスダウンを作成し、それに基づいてアクションを実行します。

私はVBが初めてで、どのロジックを使用するのか疑問に思っていました。それはうまくいきますか?アプリケーションの存続期間中、イベントはどのように保存されますか?

4

1 に答える 1

3

イベントの署名に適合するメソッドが必要になります。次に、MenuItemを作成するときに、イベントにハンドラーを追加できます。

Dim item As New MenuItem(...)
'...
AddHandler item.Click, AddressOf myEventHandler

Sub myEventHandler(sender As Object, e As System.EventArgs)
    'Do something
End Sub

アクセス権のないクラスでイベントを作成することはできません。唯一のオプションはそれから派生することですが、これは場合によってのみ機能します。MenuItemの場合、Clickイベントがすでに提供されているため、これは必要ありません。ハンドラーを追加するだけです。ハンドラーはアイテムのイベントに保存され、ハンドラーの一種のリストを維持します。

于 2012-06-09T08:59:36.963 に答える