contextmenustrip 通过二级菜单的点击 怎么获取当前关联控件,是二级菜单,不是一级菜单。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了contextmenustrip 通过二级菜单的点击 怎么获取当前关联控件,是二级菜单,不是一级菜单。相关的知识,希望对你有一定的参考价值。
一级菜单获取代码如下:
private void ToolStripMenuItem1_Click(object sender, EventArgs e)
ToolStripMenuItem t = (ToolStripMenuItem)sender;
ContextMenuStrip c = (ContextMenuStrip)t.GetCurrentParent();
关联控件 r = (关联控件)c.SourceControl;
那如果 ToolStripMenuItem1 还有下一级菜单,怎么才能最终获取到关联控件,我的思路是通过下一级菜单先获取 ToolStripMenuItem1,然后通过上面方法就可以了,但是没有实现,求高手解答
希望回答对你有帮助追问
OwnerItem 貌似可以获取到父级的菜单项,但仍有错误
private void 小菜单_ToolStripMenuItem_Click(object sender, EventArgs e)//这是ToolStripMenuItem的子菜单的点击事件
ToolStripMenuItem s = (ToolStripMenuItem)sender.OwnerItem;
ContextMenuStrip c = (ContextMenuStrip)s.GetCurrentParent();
(关联控件)r = (关联控件)c.SourceControl;//错误就在这里,r根本没有被实例化
ContextMenuStrip 类
表示快捷菜单
命名空间: System.Windows.Forms
程序集:
System.Windows.Forms(位于 System.Windows.Forms.dll)
System.Object
??System.MarshalByRefObject
????System.ComponentModel.Component
??????System.Windows.Forms.Control
????????System.Windows.Forms.ScrollableControl
??????????System.Windows.Forms.ToolStrip
????????????System.Windows.Forms.ToolStripDropDown
??????????????System.Windows.Forms.ToolStripDropDownMenu
????????????????System.Windows.Forms.ContextMenuStrip
ContextMenuStrip replaces ContextMenu.ContextMenuStrip 是用于取代ContextMenu。
以上是关于contextmenustrip 通过二级菜单的点击 怎么获取当前关联控件,是二级菜单,不是一级菜单。的主要内容,如果未能解决你的问题,请参考以下文章
DataGridView使用技巧九:DataGridView的右键菜单(ContextMenuStrip)
C# 如何获取contextMenuStrip弹出菜单中所单击子菜单中的所有父文本。