У меня есть ContextMenuStrip
, который присваивается нескольким различным спискам. Я пытаюсь выяснить, когда нажимается ContextMenuStrip
то, что ListBox
оно было использовано. Я попробовал код ниже, но он не работает. Значение sender
имеет правильное значение, но когда я пытаюсь назначить его menuSubmitted
, оно равно null.
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;
}
}
}