Sha*_*ard 10 vb.net event-handling contextmenustrip visual-studio-2008
我正在使用ContextMenuStrip
多个控件,我试图找出获得实际点击的控件打开上下文菜单的最佳方法.发件人只提供ToolStripMenuItem
引用,它具有引用该引用的所有者属性ContextMenuStrip
,但我无法弄清楚如何判断单击来自哪个控件.必须有一个简单的方法来检查这个,对吗?我在ToolStripMenuItem
点击事件中检查它.
Friend WithEvents mnuWebCopy As System.Windows.Forms.ToolStripMenuItem
...
Private Sub mnuWebCopy_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuWebCopy.Click
Run Code Online (Sandbox Code Playgroud)
我发现了一篇关于这个的类似帖子,但提到使用SourceControl
我在这里看不到的属性.
我正在使用Visual Studio 2008,VB.Net winforms.
Tim*_*ine 23
Private Sub mnuWebCopy_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuWebCopy.Click
Dim myItem As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
Dim cms As ContextMenuStrip = CType(myItem.Owner, ContextMenuStrip)
MessageBox.Show(cms.SourceControl.Name)
End Sub
Run Code Online (Sandbox Code Playgroud)
您的发件人是ToolStripMenuItem - 投了它.
它的拥有者是一个ContextMenuStrip - 得到它.
SourceControl是ContextMenuStrip上的属性,它引用显示ContextMenuStrip的最后一个控件.