2

如何将点击事件添加到动态创建的菜单项?

我以为我可以做类似的事情

遍历 Menu1.DropDownItems 中的所有项目,然后甚至在项目上创建 mousedown 并基于此执行操作。

我是 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 回答