最佳答案
我有一个 ContextMenuStrip
,它被分配给几个不同的列表框。我试图找出什么时候的 ContextMenuStrip
被点击了什么 ListBox
它被用在。我尝试下面的代码作为一个开始,但它不工作。sender
具有正确的值,但是当我尝试将它赋给 menuSubmitted
时,它为空。
private void MenuViewDetails_Click(object sender, EventArgs e)
{
ContextMenu menuSubmitted = sender as ContextMenu;
if (menuSubmitted != null)
{
Control sourceControl = menuSubmitted.SourceControl;
}
}
任何帮助都可以,谢谢。
通过下面的帮助,我明白了:
private void MenuViewDetails_Click(object sender, EventArgs e)
{
ToolStripMenuItem menuItem = sender as ToolStripMenuItem;
if (menuItem != null)
{
ContextMenuStrip calendarMenu = menuItem.Owner as ContextMenuStrip;
if (calendarMenu != null)
{
Control controlSelected = calendarMenu.SourceControl;
}
}
}