首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在设计时隐藏某些默认控件属性(C#)?

如何在设计时隐藏某些默认控件属性(C#)?
EN

Stack Overflow用户
提问于 2009-03-05 17:40:46
回答 4查看 11.1K关注 0票数 12

我有一个自己制作的自定义控件。它继承自System.Windows.Forms.Control,并具有我添加的几个新属性。是否可以显示我的属性(例如TextOn和TextOff )而不是默认的"Text“属性。

我的控件工作得很好,我只是想清理一下属性窗口。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-03-05 17:46:31

您既可以覆盖它们(如果它们可以被覆盖)并应用Browsable属性,指定false,也可以创建该属性的新版本并应用相同的属性(第二种方法似乎并不总是有效)。

此外,还可以为您的类型使用自定义TypeConverter并重写GetProperties方法,以控制为您的类型显示哪些属性。这种方法对底层基类的更改更加健壮,但可能需要更多的努力,具体取决于您想要实现的目标。

我经常使用Browsable属性和自定义TypeConverter的组合。

票数 15
EN

Stack Overflow用户

发布于 2009-03-06 17:36:52

覆盖该属性并添加[Browsable(false)]

您可能还希望添加[EditorBrowsable(EditorBrowsableState.Never)],这将在代码编辑器中隐藏IntelliSense中的属性。请注意,它只会隐藏在与原始控件不同的解决方案中。

票数 6
EN

Stack Overflow用户

发布于 2011-09-14 17:41:27

使用System.ComponentModel;

代码语言:javascript
复制
[Browsable(false), DesignerSerializationVisibility(
                            DesignerSerializationVisibility.Hidden)]
public int MyHiddenProp {get; set; }

以这种方式为我工作,它不会出现在设计器属性中,属性也不会被设计器初始化,这将覆盖我自己的初始化...

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/615791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档