【发布时间】:2011-03-21 09:26:00
【问题描述】:
当一个属性不是DefaultValue()支持的类型之一时,如何告诉设计者它的默认值?例如,Padding 或 Font。
通常,当您使用 Windows 窗体控件时,默认值将在“属性”窗口中以普通字体显示,而更改(非默认)值将以粗体显示。例如
在此示例中,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 { ... }
当然不会编译。
我该怎么做呢?
【问题讨论】:
标签: c# winforms visual-studio-2008 attributes default-value