C#将复选框添加到WinForms上下文菜单

我在表单上有一系列复选框。 我希望能够从上下文菜单以及表单本身中选择它们。 上下文菜单链接到应用程序的系统托盘图标。

我的问题是,是否可以将上下文菜单链接到这些复选框? 甚至可以在上下文菜单中添加复选框? 甚至是组合?!

菜单项有一个Checked属性( MenuItem.CheckedToolStripMenuItem.Checked ),您可以将其用于此目的。

关于将上下文菜单CheckOnClick复选框的可能性,如果使用ContextMenuStrip并将CheckOnClick属性设置为true ,则可以将CheckedChanged事件连接到应该“链接”的ToolStripMenuItemCheckBox控件的相同事件处理程序。 ,并在该事件处理程序内部确保同步控件的Checked属性并执行任何其他所需的操作。

好吧,菜单项有“Checked”属性,可以使它像一个复选框。 单击菜单项时,可以以编程方式切换窗体上相应复选框的状态。

您还可以使用上下文菜单的“打开”事件,根据复选框的选中状态设置菜单项的“已检查”状态。

您可以通过将它们包装在ToolStripControlHost中来托管标准和自定义控件

http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripcontrolhost.aspx

  //Create the combo box object and set its properties cmbFunctionArea = new ComboBox(); cmbFunctionArea.Cursor = System.Windows.Forms.Cursors.Arrow; cmbFunctionArea.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList; cmbFunctionArea.Dock = DockStyle.Fill; //Event that will be fired when selected index in the combo box is changed cmbFunctionArea.SelectionChangeCommitted += new EventHandlercmbFunctionArea_SelectedIndexChanged);