将C#WinForm Stop控件属性设置为默认值时将其设置为默认值

时间:2018-07-30 15:58:04

标签: c# winforms user-controls

最好通过示例说明该问题: 我有一个UserControl,其默认边距为0,但是我有一个控件的实例,它需要一个3的边距。我可以将控件的边距设置为2、4、10或3以外的任何其他值-但由于3是winforms中页边距的默认值-Visual Studio假定我正在尝试重置控件以继承默认值。通过属性将其变为粗体,这很明显:

设置为5时,值显示为粗体,边距设置为5: enter image description here

但是,当我将其设置为3时,Visual Studio假定我要将值“重置”为其默认值(请注意,属性文本不再以粗体显示):

enter image description here

不幸的是,对于此UserControl,默认值实际上是0-因此将其设置为3实际上会在运行时将裕度设置为0。我需要将值设置为3,就像使用其他任何整数一样

1 个答案:

答案 0 :(得分:3)

您需要覆盖用户控件的DefaultMargin属性:

protected override Padding DefaultMargin
{
    get { return new Padding(0); }
}

此属性的默认值来自内部CommonProperties.DefaultMargin的{​​{1}}。