最好通过示例说明该问题: 我有一个UserControl,其默认边距为0,但是我有一个控件的实例,它需要一个3的边距。我可以将控件的边距设置为2、4、10或3以外的任何其他值-但由于3是winforms中页边距的默认值-Visual Studio假定我正在尝试重置控件以继承默认值。通过属性将其变为粗体,这很明显:
但是,当我将其设置为3时,Visual Studio假定我要将值“重置”为其默认值(请注意,属性文本不再以粗体显示):
不幸的是,对于此UserControl,默认值实际上是0-因此将其设置为3实际上会在运行时将裕度设置为0。我需要将值设置为3,就像使用其他任何整数一样
答案 0 :(得分:3)
您需要覆盖用户控件的DefaultMargin
属性:
protected override Padding DefaultMargin
{
get { return new Padding(0); }
}
此属性的默认值来自内部CommonProperties.DefaultMargin
的{{1}}。