使用属性网格修改窗体属性

时间:2010-09-02 20:46:45

标签: c# .net

我使用属性网格来显示我的自定义表单的各种属性,然后用户可以修改这些属性。当我将所选对象设置为我的表单时,它可以工作,但它显示表单的所有属性,是否可以定义我想要显示哪些表单属性?

1 个答案:

答案 0 :(得分:2)

您可以使用Browsable attribute来阻止显示属性。遗憾的是,您无法更改内置类型。如果继承,并且该属性不是虚拟的,则无法更改它。如果您愿意,请使用聚合。

编辑:实际上,虽然上述情况属实,但您可以通过指定自己的属性并设置从中继承的PropertyGrid类的BrowsableAttributes属性来重载此行为。这样,你就拥有了所有自由。

[Browsable(true)]
public bool GreatBrowsableProperty { get; set; }

[Browsable(false)]
public bool NonBrowsableProperty { get; set; }

[MyOwnBrowsable]
public bool BrowsablePropertyMyOwn { get; set; }

要了解有关创建和使用属性的更多信息,请have a look here