【发布时间】:2014-10-29 21:52:01
【问题描述】:
首先,感谢您花时间阅读我的问题。
我在这个问题上花了很多时间但没有成功。我创建了一个继承自 TextBox 的自定义文本框。自定义文本框提供了更高级的建议下拉菜单,具有更好的过滤功能。自定义 TextBox 效果很好,但我想在 Visual Studio 的“属性”窗口中隐藏与原始建议菜单相关的属性:
- AutoCompleteCustomSource
- 自动完成模式
- 自动完成源
我为尝试隐藏这些属性而开发的代码是:
[ReadOnly(true)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("This property is obsolete.", true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
new private AutoCompleteStringCollection AutoCompleteCustomSource { get; set; }
[ReadOnly(true)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("This property is obsolete.", true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
new private AutoCompleteMode AutoCompleteMode { get; set; }
[ReadOnly(true)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("This property is obsolete.", true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
new private AutoCompleteSource AutoCompleteSource { get; set; }
我使用的来源是:
- Making the Visual Studio designer ignore a public property
- Hiding unwanted properties in custom controls
属性仍在显示中。请提供一个工作示例或一个参考。
再次感谢您抽出宝贵的时间。
【问题讨论】:
-
将私有改为公共。
-
他们必须是公开的。您可以隐藏属性,但始终可以通过代码访问它们。继承附带的合同的一部分。
-
哇。我不敢相信事情就这么简单。非常感谢,成功了!
-
如何将您的评论标记为答案?
标签: c# winforms visual-studio designer browsable