Меню в нужном стиле щелчком правой кнопки мыши

#c# #winforms #contextmenustrip

#c# #winforms #contextmenustrip

Вопрос:

Цель:
Создать меню, вызываемое правой кнопкой мыши, с правильным стилем

Проблема:
Как мне получить этот стиль при щелчке правой кнопкой мыши:

Запрос на восстановление этого стиля

и не этот стиль: Текущий стиль, который я хотел бы удалить

Я использую компонент ContextMenuStrip для отображения меню щелчком правой кнопки мыши.

Ответ №1:

Вместо использования ContextMenuStrip, вы должны использовать ContextMenu. Это из MSDN:

Хотя ContextMenuStrip заменяет и добавляет функциональность элементу управления ContextMenu предыдущих версий, ContextMenu сохраняется как для обратной совместимости, так и для использования в будущем, если вы захотите.

Я протестировал его на примитивном примере, и он действительно работает так, как вы хотите. Пожалуйста, обратите внимание, что при использовании ContextMenu вы теряете некоторые функциональные возможности конструктора и вам приходится вручную устанавливать некоторые свойства в вашем файле кода.

В моем примере я изменил тип ContextMenuStrip на тип ContextMenu, все объекты ToolStripItem на тип MenuItem, привязал меню к свойству ContextMenu формы и удалил все настройки размера (ContextMenu их не использует).

Комментарии:

1. Спасибо за помощь… Мне понадобится еще одна помощь с вашей стороны, как только у вас на экране появится меню правой кнопки мыши и вы нажмете на одну из опций, какое событие, метод или что-то подобное мне нужно ввести для следующего процесса. Я знаю, что, как сделать, связанное с Contextmenustrip, благодаря компоненту, но эта ситуация отличается.

2. @FullmetalBoy: У каждого объекта MenuItem есть событие щелчка. Здесь вы можете найти пример того, как его использовать: msdn.microsoft.com/en-us/library /…