#c# #winforms
#c# #winforms
Вопрос:
У меня есть winform с несколькими PictureBox
элементами управления на нем. У меня есть контекстное меню, которое прикреплено ко всем этим PictureBox
элементам управления. У меня есть 3 пункта отправки (меню) в контекстном меню, которые должны отображаться при щелчке правой кнопкой мыши на любом из PictureBox
экземпляров, и это работает нормально.
Теперь, перед появлением всплывающего окна контекстного меню, мне нужно проверить свойства того, PictureBox
где оно нажато, чтобы включить или отключить определенные подменю.
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
}
Я вижу это событие, но sender
объект является ссылкой на ContextMenu
. Для этого мне нужен PictureBox
параметр.
Ответ №1:
Я этого не пробовал, но вы, возможно, захотите взглянуть на SourceControl
свойство ContextMenu
( sender
).
В нем должна быть ссылка на фактический элемент управления, для ContextMenu
которого он отображается.
На странице MSDN, на которую я ссылался, также есть пример, который, я думаю, будет полезен. Хотя они прослушивают Popup
событие, но оно должно быть таким же.
Комментарии:
1. спасибо, это работает, я попробовал contextMenuStrip1. SourceControl в том же случае, когда он работает