Определите, какой элемент управления ContextMenuStrip использовался на

У меня есть 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;
                }
            }
        }
81
задан Taryn 3 February 2011 в 13:16
поделиться