В приложении winforms C # я назначил одно и то же контекстное меню четырем элементам управления PictureBox.
Я бы хотел определить, какое из них использовалось для активации контекстного меню.
Я сделал следующее в событии Click для данного пункта меню, который кажется неудобным:
MenuItem_Click(object sender, EventArgs e)
{
PictureBox Origin = (PictureBox)sender;
switch (Origin.Name)
{
case "pbOne":
// do something with #1
break;
case "pbTwo":
// do something with #2
break;
}
}
Работа с именем элемента управления - это неловкая часть.
Можете ли вы предложить лучший способ?
Изменить:
Приведение sender
к PictureBox не работает, так как я забыл, что пункт меню будет отправителем, а не PictureBox. Так что мне придется дальше возвращаться.