VS自带的控件大多数据,属性都是有默认值的. 这是怎么实现的. (有人说: 给字段设个初始值呗!) 
      疑点一:  默认值与初始值是等同的吗? 好像是哦?
                     VS中的默认值与初始值是等同的吗? 不知道? (实际上是不等同的.)
    
      从MSDN上可以查到,简单属性与复杂属性的默认值设置又是不一样的.

如果属性不具有简单的默认值,则可以为属性提供可选方法 ShouldSerialize 和 Reset。如果属性 (Property) 具有简单的默认值,则应用 并将默认值提供给属性 (Attribute) 类构造函数。上述机制中的任何一种都可以在设计器中启用下列功能:

  • 该属性在修改了其默认值的情况下,在属性浏览器中提供可视化表示。

  • 用户可以右键单击该属性并选择“重置”将该属性还原为其默认值。

  • 该设计器生成更为有效的代码。



属性的初始值与默认值不是一个概念, 大家可以很容易地看出来.
1, 初始值就是当控件第一次被拖到窗体上属性中的值. 对于简单的类型比如int类型, 初始值默认为0, 这是控件类被实例化时分配的.
2, 默认值是当属性值不为粗体时的那个值就是该属性的默认值.

来段代码先, (下面是综合了前几篇文章中所提及的代码) 只包含两个属性的控件,一个简单属性,一个简单属性
  1Dot Net WinForm 控件开发 (四) 设置属性的默认值using System.ComponentModel;
  2Dot Net WinForm 控件开发 (四) 设置属性的默认值using System.Windows.Forms;
  3Dot Net WinForm 控件开发 (四) 设置属性的默认值using System.Drawing;
  4Dot Net WinForm 控件开发 (四) 设置属性的默认值
  5Dot Net WinForm 控件开发 (四) 设置属性的默认值namespace CustomControlSample
  6

强烈建议有需要的同学仔细阅读代码中的注释部分.并在本机上反复实践.

The end.

相关文章:

  • 2021-08-28
  • 2022-12-23
  • 2021-10-04
  • 2022-02-02
  • 2022-12-23
  • 2021-06-05
  • 2021-11-18
猜你喜欢
  • 2021-12-09
  • 2021-11-17
  • 2021-12-29
  • 2022-12-23
  • 2021-10-30
相关资源
相似解决方案