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