動的に作成されたメニュー項目にクリック イベントを追加するにはどうすればよいですか?
私は次のようなことができると思った
Menu1.DropDownItems 内のすべてのアイテムをループしてから、そのアイテムでもマウスダウンを作成し、それに基づいてアクションを実行します。
私はVBが初めてで、どのロジックを使用するのか疑問に思っていました。それはうまくいきますか?アプリケーションの存続期間中、イベントはどのように保存されますか?
動的に作成されたメニュー項目にクリック イベントを追加するにはどうすればよいですか?
私は次のようなことができると思った
Menu1.DropDownItems 内のすべてのアイテムをループしてから、そのアイテムでもマウスダウンを作成し、それに基づいてアクションを実行します。
私はVBが初めてで、どのロジックを使用するのか疑問に思っていました。それはうまくいきますか?アプリケーションの存続期間中、イベントはどのように保存されますか?
イベントの署名に適合するメソッドが必要になります。次に、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イベントがすでに提供されているため、これは必要ありません。ハンドラーを追加するだけです。ハンドラーはアイテムのイベントに保存され、ハンドラーの一種のリストを維持します。