在设计时隐藏私人子控件属性

时间:2019-07-15 07:00:00

标签: .net visual-studio winforms windows-forms-designer

我有一个带有私有子控件的容器控件。如何在设计时隐藏属性浏览器以免显示控件。在设计时,每个控件上还显示了一个锁和一个正方形图标。

enter image description here

我试图设置控件

<Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Bindable(False)>
<EditorBrowsable(EditorBrowsableState.Never)>

还尝试为子控件设置<DesignTimeVisible(False), ToolboxItem(False)>。但即使无法编辑,它仍会显示在设计器中。

当前,我正在设计时和运行时绘制控件,以加载实际控件。有没有更简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

选项1-设置GenerateMember = false

在基本控件的设计模式下,将子控件的GenerateMember属性设置为Jolt Specification。这样,派生的控件将不允许选择按钮。

选项2-使用TypeDescriptor为子控件设置一个新的无效设计器

另一个技巧是在初始化组件之后,在基本控件的构造函数中使用{ "event.start": "${event.start:append('000'):format('yyyy-MM-dd HH:mm:ss.SSS')}" } 为子控件设置一个新的不起作用的子控件:

false