![](/img/trans.png)
[英]How to override textbox context menu with parent control's context menu?
[英]context menu parent?
嗨,我在標簽(c#,winforms)上添加了上下文菜單。 我的上下文菜單有3個子項,我想在單擊任何一個上下文菜單項時顯示標簽文本。
提前致謝
ContextMenuStrip
控件具有SourceControl
屬性,該屬性將具有對打開它的控件的引用。 您可以使用它從控件中提取文本:
private void MenuStripItem_Click(object sender, EventArgs e)
{
ToolStripItem item = (sender as ToolStripItem);
if (item != null)
{
ContextMenuStrip owner = item.Owner as ContextMenuStrip;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
如果代替ContextMenuStrip
使用ContextMenu
,代碼應該是這樣的:
private void menuItem1_Click(object sender, EventArgs e)
{
MenuItem item = (sender as MenuItem);
if (item != null)
{
ContextMenu owner = item.Parent as ContextMenu;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
最好的一行:
Control control = ((ContextMenuStrip)((ToolStripItem)sender).Owner).SourceControl;
獲取上下文菜單父控件名稱MessageBox.Show(contextMenuStrip1.SourceControl.Name.ToString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.