当一个属性的默认值不属于
当然,这样是无法编译通过的。
我该如何做呢?
DefaultValue()
支持的类型时,如何告诉设计者它的默认值呢?例如,Padding
或Font
。通常,当您使用Windows Forms控件时,在属性窗口中,默认值将以普通字体显示,而更改(非默认)的值将以粗体显示。例如:
在此示例中,ShowAddress
的默认值为false
,ShowName
的默认值为true
。这种效果可以通过以下方法实现:[DefaultValue(false)]
public bool ShowAddress {
get { return mShowAddress; }
set {
mShowAddress = value;
Invalidate();
}
}
[DefaultValue(true)]
public bool ShowName { ... }
然而,当我尝试对Padding
进行操作时,我彻底失败了:
[DefaultValue(new Padding(2))]
public Padding LabelPadding { ... }
当然,这样是无法编译通过的。
我该如何做呢?