如何将click事件添加到动态创建的菜单项?
我以为我可以做点什么
循环浏览Menu1.DropDownItems中的所有项目,然后在项目上创建一个mousedown,并根据该项目执行操作。
我是VB新手,想知道要使用什么逻辑。这甚至会起作用吗?如何在应用程序的整个生命周期中保存事件?
答案 0 :(得分: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事件。你只需要为它添加一个处理程序。处理程序保存在项目的事件中,该事件维护一种处理程序列表。