如何:在VB.NET中使用ToolStripMenuItem.DropDownItemClicked
我有一个toolStripMenuItem,它是一个包含其他下拉项的菜单。当通过选择某个下拉项引发DropDownItemClicked事件时,如果满足某些条件,我希望使用该事件,如下所示:如何:在VB.NET中使用ToolStripMenuItem.DropDownItemClicked,vb.net,event-handling,contextmenustrip,toolstripmenu,Vb.net,Event Handling,Contextmenustrip,Toolstripmenu,我有一个toolStripMenuItem,它是一个包含其他下拉项的菜单。当通过选择某个下拉项引发DropDownItemClicked事件时,如果满足某些条件,我希望使用该事件,如下所示: Private Sub tsmi_DropDownItemClicked( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) _
Private Sub tsmi_DropDownItemClicked( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) _
Handles tsmi.DropDownItemClicked
...
If some_condition_is_satisfied then
e.Cancel = True <------ Cancel is not available in this event!
End If
...
End Sub
那么我如何使用此事件呢?如果您只想终止sub,那么
If some_condition_is_satisfied then
exit sub
End If
即使是在事件处理程序中,也可以做到这一点。但是,如果您希望程序在子对象被取消时收到通知,则需要声明一个具有类级别作用域的布尔变量,并在子对象的开头将该变量设置为false,然后在
if..then
条件中,将其设置为true。如果您可以取消,这是否会使它看起来像被破坏了?当满足条件时,您是否可以禁用某些子项?
If some_condition_is_satisfied then
exit sub
End If