【问题标题】:C# Add Checkbox To WinForms Context MenuC# 将复选框添加到 WinForms 上下文菜单
【发布时间】:2010-11-07 08:50:12
【问题描述】:

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

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

【问题讨论】:

    标签: c# checkbox


    【解决方案1】:
      //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);
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          嗯,一个菜单项具有“Checked”属性,这可以使它表现得像一个复选框。当您单击一个菜单项时,您可以通过编程方式切换表单上相应复选框的状态。

          您也可以使用上下文菜单的Opening事件,根据复选框的选中状态设置菜单项的选中状态。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-06-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-09
            • 2023-03-15
            相关资源
            最近更新 更多