我有一个工具StripMenuItem,这是一个包含其他下拉项的菜单。当通过选择其中一个下拉项引发 DropDownItemClicked 事件时,如果满足某些条件,我想使用该事件,如下所示:
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
问题是 DropDownItemClicked 没有提供执行以下操作的可能性:
e.Cancel = True
那么我该如何使用此事件呢?
如果你只是想终止 sub,那么
If some_condition_is_satisfied then
exit sub
End If
可以解决问题 - 即使在事件处理程序中也是如此。但是,如果您希望在 sub 被取消时通知程序,那么您需要声明一个具有类级别范围的布尔变量,并在 sub 的开头将变量设置为 false,在 If..Then
条件下,将其设置为 true。