当属性不是 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 { ... }
这当然不会编译。
我到底该怎么做?
最佳答案
试试这个:
[DefaultValue( typeof( Padding ), "2, 2, 2, 2" )]
public Padding LabelPadding
{
get { return _labelPadding; }
set { _labelPadding = value; }
}
关于c# - 如何让 C# 设计者知道 C# 中 Padding 或其他对象/结构的默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340226/