C# C DefaultValue属性不工作

C# C DefaultValue属性不工作,c#,attributes,control-library,C#,Attributes,Control Library,我正在使用C windows窗体控件库程序创建自己的控件,代码如下: public partial class MyControl : UserControl { public MyControl() { InitializeComponent(); } private float mMinValue; [Browsable(true)] [EditorBr

我正在使用C windows窗体控件库程序创建自己的控件,代码如下:

    public partial class MyControl : UserControl
    {
        public MyControl()
        {
            InitializeComponent();
        }

        private float mMinValue;

        [Browsable(true)]
        [EditorBrowsable(EditorBrowsableState.Always)]
        [Category("Design") , DefaultValue(0.0)]
        public float MinValue
        {
            get { return mMinValue; }
            set { mMinValue = value; }
        }

        private float mMaxValue;

        [Browsable(true)]
        [EditorBrowsable(EditorBrowsableState.Always)]
        [Category("Design") , DefaultValue(1.0)]
        public float MaxValue
        {
            get { return mMaxValue; }
            set { mMaxValue = value; }
        }
    }

程序运行时,MinValue和MaxValue的默认值均为0,因此如何正确设置默认值?

默认值属性仅指示设计者属性的默认值。它不会将其设置为属性后面的成员的实际值。这一点在以下文件中也有提及:
public partial class MyControl : UserControl
{
    //Declare your variables here
    private float mMinValue = 0.0;
    private float mMaxValue = 1.0;

    //Leave it
    public MyControl()
    {
        InitializeComponent();
    }
}
在备注部分

注 DefaultValueAttribute不会导致使用该属性的值自动初始化成员。必须在代码中设置初始值


因此,正如其他人已经提到的,您需要自己在代码中设置这些值。我喜欢在构造函数中设置,而不是在私有成员的声明中设置,但我认为这只是个人偏好的问题。

默认值属性只指示设计者属性的默认值。它不会将其设置为属性后面的成员的实际值。这一点在以下文件中也有提及: 在备注部分

注 DefaultValueAttribute不会导致使用该属性的值自动初始化成员。必须在代码中设置初始值


因此,正如其他人已经提到的,您需要自己在代码中设置这些值。我喜欢在构造函数中设置,而不是在私有成员声明中设置,但我认为这只是个人偏好的问题。

如果我理解您的意思,请尝试使用:

DefaultValueAttribute不会导致自动删除成员 已使用属性值初始化。必须设置初始值 在你的代码中

要设置默认值,应使用构造函数

public MyControl()
{
    MinValue = 0;
    MaxValue = 100;
    InitializeComponent();
}

如果我对您的理解正确,您可以尝试使用,请引用:

DefaultValueAttribute不会导致自动删除成员 已使用属性值初始化。必须设置初始值 在你的代码中

要设置默认值,应使用构造函数

public MyControl()
{
    MinValue = 0;
    MaxValue = 100;
    InitializeComponent();
}

私人浮动mMinValue=50;和私有浮动mMaxValue=50;私人浮动mMinValue=50;和私有浮动mMaxValue=50;请在你的答案中添加一些描述,这样每个人都可以得到它。请在你的答案中添加一些描述,这样每个人都可以得到它。