有条件地关闭ContextMenuStrip

时间:2014-11-13 11:03:05

标签: vb.net

我有ContextMenuStrip这样的项目:

OpenToolStripMenuItem
WrapToolStripMenuItem
CopyToolStripMenuItem
PasteToolStripMenuItem

其中WrapToolStripMenuItem有复选框。其他项目没有。 因此,该项目的代码如下所示:

Private Sub WrapToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WrapToolStripMenuItem.Click

    WrapToolStripMenuItem.Checked = Not WrapToolStripMenuItem.Checked
End Sub

我为ContextMenu找到了一些可行的解决方案,它们在尝试关闭时打开菜单:

Private Sub ContextMenuStrip1_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripDropDownClosingEventArgs) Handles ContextMenuStrip1.Closing

    If (e.CloseReason = ToolStripDropDownCloseReason.ItemClicked) Then
        e.Cancel = True
    End If
End Sub

所有这些都可以。

Questin是:
如果ClickedItem是WrapToolStripMenuItem而不是其他的,如何禁止关闭菜单?
如何识别_Closing处理程序中单击了哪个项目而不使用" lastpressedmenuitem"或者类似的?

0 个答案:

没有答案