0

我有一个 toolStripMenuItem,它是一个包含其他下拉项的菜单。当通过选择下拉项目之一引发 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

那么我怎么能消费这个事件呢?

4

1 回答 1

0

如果你只想终止子,那么

If some_condition_is_satisfied then
    exit sub
End If

会做到这一点 - 即使在事件处理程序中。但是,如果您希望在子程序被取消时通知程序,那么您需要声明一个具有类级别范围的布尔变量,并在子程序的开头将变量设置为 false 并在If..Then条件中将其设置为真的。

于 2016-02-24T22:22:42.357 回答