限制向工具栏添加控件

本文关键字:添加 控件 工具栏 | 更新日期: 2023-09-27 17:56:47

我正在为特定作业设计一系列ToolStrip控件,例如字体工具栏。我需要做的是阻止用户和开发人员在我的工具栏中添加或删除控件。

任何帮助都将不胜感激地接受丹尼

限制向工具栏添加控件

要创建此类自定义ToolStrip,您应该执行以下步骤:

  1. 创建一个类并从ToolStrip继承。
  2. 禁用 ToolStrip 的默认设计器。
  3. 在属性网格中隐藏Items属性。

以下是有关步骤的详细说明:

  • 创建一个类并从ToolStrip继承。

    这样,您可以在设计器的自定义工具之旅中添加一些项目。为此,在创建类后,在设计模式下打开它(可能需要一些时间才能看到 Visual Studio 检测到它可以在设计器中打开文件)。然后转到属性窗口并使用Items属性添加一些项目。您还可以从属性窗口上方的下拉列表中选择项目,并在事件选项卡中处理Click事件并添加一些逻辑。

    注意:添加项后,转到代码视图并调用InitializeComponent(); is 构造函数。

  • 禁用ToolStrip的默认设计器

    应禁用 ToolStrip 的默认设计器以防止在设计时更改项,以便用户无法使用设计器 versb 或设计图面来更改项。为此,使用 [Designer(typeof(ControlDesigner))] 属性装饰自定义组件类就足够了。

    [Designer(typeof(ControlDesigner))]
    public class MyToolStrip : ToolStrip
    {
        //...
    }
    
  • 在属性网格中隐藏Items属性。

    您应该在属性网格中隐藏items属性和 lo,以防止通过属性网格更改项目。为此,覆盖Items属性并用[Browsable(false)]装饰就足够了。

    [Browsable(false)]
    public override ToolStripItemCollection Items
    {
        get
        {
            return base.Items;
        }
    }