ToolStripDropDownButton 的三态复选框
Tri State Chech box for ToolStripDropDownButton
我有带 ToolStripMenuItems 的状态栏条。我需要对 Toolstrip 菜单项进行分组并实现 TriStateCheckbox 功能,
- 是否可以使用 ToolStripMenitems 创建复选框?
- 如果第 1 点不可能,那么如何将 TreeView 添加到 StatusStrip。
要拥有三态菜单项,您可以将每个 ToolStripMenuItem
的 CheckState
设置为 Indeterminate
、Checked
或 Unchecked
。
此外,如果您想使用树视图控件(不内置对三态复选框的支持)或类似 this control 的东西,您应该知道,您可以在使用 ToolStripControlHost
的下拉菜单。例如,这里有一个 ToolStripTreeView
控件:
using System.ComponentModel;
using System.Windows.Forms;
using System.Windows.Forms.Design;
[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ContextMenuStrip)]
public class ToolStripTreeView : ToolStripControlHost
{
[DesignerSerializationVisibility( DesignerSerializationVisibility.Content)]
public TreeView TreeViewControl { get { return (TreeView)Control; } }
public ToolStripTreeView() : base(CreateControl()) { }
private static TreeView CreateControl()
{
var t = new TreeView();
return t;
}
}
我有带 ToolStripMenuItems 的状态栏条。我需要对 Toolstrip 菜单项进行分组并实现 TriStateCheckbox 功能,
- 是否可以使用 ToolStripMenitems 创建复选框?
- 如果第 1 点不可能,那么如何将 TreeView 添加到 StatusStrip。
要拥有三态菜单项,您可以将每个 ToolStripMenuItem
的 CheckState
设置为 Indeterminate
、Checked
或 Unchecked
。
此外,如果您想使用树视图控件(不内置对三态复选框的支持)或类似 this control 的东西,您应该知道,您可以在使用 ToolStripControlHost
的下拉菜单。例如,这里有一个 ToolStripTreeView
控件:
using System.ComponentModel;
using System.Windows.Forms;
using System.Windows.Forms.Design;
[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ContextMenuStrip)]
public class ToolStripTreeView : ToolStripControlHost
{
[DesignerSerializationVisibility( DesignerSerializationVisibility.Content)]
public TreeView TreeViewControl { get { return (TreeView)Control; } }
public ToolStripTreeView() : base(CreateControl()) { }
private static TreeView CreateControl()
{
var t = new TreeView();
return t;
}
}