Как узнать откуда вызвано контекстное меню C#

Столкнулся с проблемой. В моей форме многие контролы используют одно и тоже контекстное меню. В меню есть пункт «Отменить изменения» и вот при выборе этого меню, надо было узнать какому контролу надо было отменить изменения. Так мне и понадобилось узнать источник запуска контекстного меню. Чтобы к нему добраться я в обработчике выбранного пункта меню написал следующее:

private void cancelChangesToolStripMenuItem_Click(object sender, EventArgs e)
{
    var sourceControl = ((ContextMenuStrip)((ToolStripMenuItem)sender).GetCurrentParent()).SourceControl;
    //...
}

Один комментарий

  • То что надо. Спасибо )

    Недавно перешел с делфи на С# и радуюсь, что почти все можно нагуглить ))

  • Добавить комментарий