Как создать элемент, похожий на checkList, в NotifyIcon ContextMenuStrip? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть приложение в трее с contextMenuStrip, и я хочу добавить к нему «контрольный список радио», так же как и настройки громкости Windows 10 (см. Скриншот ниже)

Windows 10 volume mixer

Список должен отображаться при наведении курсора и отображать все параметры, и пользователь может выбрать только один (например, radioButton)

У меня уже работает все приложение и иконка в системном трее, эта опция нужна только длябыстрое переключение для настройки программы.

1 Ответ

0 голосов
/ 06 мая 2019

Вы должны создать новый ToolstripControlHost, добавить свое поле, привести его к элементу toolstrip и добавить его в контекстную таблицу.

Пример:

System.Windows.Forms.RadioButton a = new RadioButton();

ToolStripControlHost host = new ToolStripControlHost(a);

 this.contextMenuStrip1.Items.Add((ToolStripItem)host);

 System.Windows.Forms.RadioButton a2 = new RadioButton();

 ToolStripControlHost host2 = new ToolStripControlHost(a2);

 this.contextMenuStrip1.Items.Add((ToolStripItem)host2);

 this.contextMenuStrip1.Show(new Point(e.X, e.Y));

Чтение здесь: https://social.msdn.microsoft.com/Forums/en-US/5ce069a4-b11c-4186-a7ae-3620d0a14dd6/contextmenustrip-check-boxes-to-work-like-radiobuttons?forum=winforms

...