getstr88 发表于 2022-6-16 15:57

C# WinForm的UserControl设置DefaultValue没用??

public partial class MyUserControl : UserControl
{

      public string LabelName
      {
            get { return _LabelName; }
            set
            {
                _LabelName = value;
                this.LblName.Text = value;
            }
      }
private string _LabelName;
}

结果把我自定义的这个拖拽进Form,Form中看到我这个控件的LabelName的属性,默认是空的,而不是“标签名称”

51Crack 发表于 2022-6-16 17:13

直接设置变量值啊
private string _LabelName = "标签名称";

星峰 发表于 2022-6-16 17:19

DefaultValueAttribute并不能自动初始化一个字段,必须在代码中手动初始化字段。

另外这个特性主要是供可视化设计器使用

清江堤畔 发表于 2022-6-16 17:25

除了直接赋值,也可以在构造函数中初始化赋值

getstr88 发表于 2022-6-16 20:32

51Crack 发表于 2022-6-16 17:13
直接设置变量值啊
private string _LabelName = "标签名称";

那微软设计 DefaultValue 的意义是什么呢

getstr88 发表于 2022-6-16 20:33

woliuguojian 发表于 2022-6-16 17:19
DefaultValueAttribute并不能自动初始化一个字段,必须在代码中手动初始化字段。

另外这个特性主要是供 ...

那 微软设计DefaultValue的意义是什么?

getstr88 发表于 2022-6-16 20:48

好吧。我知道了DefaultValue,只是为了在属性窗格中,当用户设置了值,如果和自己这个默认的不同,就加粗。。原来如此
页: [1]
查看完整版本: C# WinForm的UserControl设置DefaultValue没用??