Я пытаюсь создать контроллер на основе TCP для серверов и виртуальных машин в моем доме, я хочу, чтобы у каждого сервера был выделенный порт, чтобы я мог легко узнать, какой из них какой, поскольку запущено довольно много экземпляров HyperV. Я разработал базовый сервер управления по своему вкусу, но у меня возникли проблемы с ContextMenuStrips.
У меня есть 18 серверов или виртуальных машин, которыми я хочу управлять через свою программу (основная цель — запуск сценариев PowerShell или других рутинных задач на всех машинах одновременно), но я не могу понять эту часть. Каждый из списков портов существует на панели, панель содержит PictureBox и Label. Показанная полоса ContextMenu включена на каждой из панелей, которые охватывают другие элементы. Как мне узнать, какую из панелей я щелкнул правой кнопкой мыши для обновления? Нужно ли мне создавать ContextMenu для каждой панели, просто смотреть на положение указателя при щелчке правой кнопкой мыши и иметь несколько списков, которые наилучшим образом определяют границы, или я просто не знаю лучшего способа сделать это?
contextMenuStrip1_Opened
), то событие подписывается. Что такое(sender as ContextMenuStrip).SourceControl
в этот момент (значениеSourceControl
)? - person Jimi   schedule 26.11.2019SourceControl
является элементом управления Panel, как вы также подтвердили, он не может быть нулевым в этот момент, если только он не был установлен равным нулю в другом месте. Убедитесь, что у вас не более одного ContextMenuStrip. - person Jimi   schedule 26.11.2019