如何在NotifyIcon ContextMenuStrip中创建类似项目的checkList?

时间:2019-05-06 04:54:58

标签: c# winforms system-tray trayicon contextmenustrip

我有一个带有contextMenuStrip的任务栏应用程序,我想为其添加一个“ radio checkList”,就像Windows 10的音量设置一样(请参见下面的屏幕截图)

Windows 10 volume mixer

该列表应显示在悬停上,并显示所有选项,并且用户只能选择一个(类似于radioButton)

我已经使整个应用程序和系统托盘图标正常工作,只需要此选项即可快速切换程序配置。

1 个答案:

答案 0 :(得分:0)

您必须创建一个新的ToolstripControlHost,添加字段,将其强制转换为toolstrip项,并将其添加到contextmenustrip。

示例:

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