Вы можете использовать событие Opening
.Аргументы события имеют свойство Cancel, чтобы вы могли проверить состояние вашего приложения и решить, показывать ли меню (ничего не делая) или не показывать его (установив e.Cancel = true
).Однако, как упоминает @Grzenio, я бы нашел более интуитивно понятным, если бы элемент, по которому я щелкнул правой кнопкой мыши, стал выбран автоматически.
Другой вариант - использовать событие Opening
для заполнения контекстного менюодин отключенный элемент с текстом типа (no item is selected)
или около того;это сообщит пользователю о том, почему команда недоступна.