限制向 ToolStrip 添加控件
Restrict adding controls to ToolStrip
我正在为特定作业设计一系列 ToolStrip
控件,例如 Font ToolStrip。我需要做的是阻止用户和开发人员在我的 ToolStrip 中添加或删除控件。
我们将不胜感激地接受任何帮助
丹尼
要创建这样的自定义 ToolStrip
您应该执行以下步骤:
- 创建一个 class 并继承自
ToolStrip
。
- 禁用
ToolStrip
的默认设计器。
- 在 属性 网格中隐藏
Items
属性。
这里是关于步骤的详细说明:
创建一个 class 并继承自 ToolStrip
。
这样您就可以在设计器中将一些项目添加到您的自定义工具条中。为此,在创建 class 后以设计模式打开它(可能需要一些时间 visual studio 检测它是否可以在设计器中打开文件)。然后转到属性 window 并使用 Items
属性 添加一些项目。您还可以 select 属性 window 上方下拉列表中的项目,并在事件选项卡中处理 Click
事件并添加一些逻辑。
注意:添加项后,进入代码视图,调用InitializeComponent();
构造函数。
禁用 ToolStrip
的默认设计器
您应该禁用 ToolStrip
的默认设计器以防止在设计时更改项目,因此用户不能使用设计器 versb 或设计图面来更改项目。为此,用 [Designer(typeof(ControlDesigner))]
属性装饰您的自定义组件 class 就足够了。
[Designer(typeof(ControlDesigner))]
public class MyToolStrip : ToolStrip
{
//...
}
在 属性 网格中隐藏 Items
属性。
您应该在 属性 网格中隐藏 items
属性 以防止通过 属性 网格更改项目。为此,覆盖 Items
属性 并用 [Browsable(false)]
.
装饰它就足够了
[Browsable(false)]
public override ToolStripItemCollection Items
{
get
{
return base.Items;
}
}
我正在为特定作业设计一系列 ToolStrip
控件,例如 Font ToolStrip。我需要做的是阻止用户和开发人员在我的 ToolStrip 中添加或删除控件。
我们将不胜感激地接受任何帮助 丹尼
要创建这样的自定义 ToolStrip
您应该执行以下步骤:
- 创建一个 class 并继承自
ToolStrip
。 - 禁用
ToolStrip
的默认设计器。 - 在 属性 网格中隐藏
Items
属性。
这里是关于步骤的详细说明:
创建一个 class 并继承自
ToolStrip
。这样您就可以在设计器中将一些项目添加到您的自定义工具条中。为此,在创建 class 后以设计模式打开它(可能需要一些时间 visual studio 检测它是否可以在设计器中打开文件)。然后转到属性 window 并使用
Items
属性 添加一些项目。您还可以 select 属性 window 上方下拉列表中的项目,并在事件选项卡中处理Click
事件并添加一些逻辑。注意:添加项后,进入代码视图,调用
InitializeComponent();
构造函数。禁用
的默认设计器ToolStrip
您应该禁用
ToolStrip
的默认设计器以防止在设计时更改项目,因此用户不能使用设计器 versb 或设计图面来更改项目。为此,用[Designer(typeof(ControlDesigner))]
属性装饰您的自定义组件 class 就足够了。[Designer(typeof(ControlDesigner))] public class MyToolStrip : ToolStrip { //... }
在 属性 网格中隐藏
Items
属性。您应该在 属性 网格中隐藏
装饰它就足够了items
属性 以防止通过 属性 网格更改项目。为此,覆盖Items
属性 并用[Browsable(false)]
.[Browsable(false)] public override ToolStripItemCollection Items { get { return base.Items; } }