.net WinForm用户控件开发:用户控件的基本属性设置

 我来答
户如乐9318
2022-11-04 · TA获得超过6633个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:136万
展开全部

  在前几节中 我们演示了怎样进行用户控件开发 大家可能对用户控件中的一些属性的基本设置还存在疑惑 这节我们共同学习下用户控件的基本属性设置

  所谓基本属性设置 就是我们常常看到控件在属性设计器中可以对属性进行设置 有些属性在设计中具有默认值 有些在属性设计器中会弹出一个编辑器 供用户选择值

  这节内容

   简单数据类型的属性设置

   复杂数据类型的属性设置

   简单数据类型的属性设置

  简单数据类型 就是 NET中常见的类型 例如字符串 整型 浮动型 这些基本数据类型

  我们看下这些基本属性

  Browsable 指示该属性是否可以在属性设计器中显示 如果TRUE则显示 FALSE则不显示

  Category 表示属性的分类

  Description 表示属性的描述信息

  DefaultValue 表示属性的默认值

  下面我们定义了一个用户控件 并自定义了一个属性SecondText 代码如下

  public partial class UCLabel : UserControl { public UCLabel() { InitializeComponent(); } private string _sText= Helloworld ;//初始值 /// <summary> /// Browsable表示该属性是否显示在设计器中 TRUE为显示 /// </summary> /// Description表示对属性的描述信息 /// Category表示该属性在属性设计器中的分类 [Browsable(true)] [Category( 文本 )] [Description( 第二文本 )] [DefaultValue( 新浪微博 )]//默认值 public string SecondText { get { return _sText; } set { _sText = value; } } }

  

  从上面的图片中 我们可以看到各个属性在属性设计器中对应的项

  在这里有一点要说明 我们把SecondText的初始值设为HelloWorld   把它的默认值设为新浪微博  我们说下初始值和默认值的区别

   初始值是属性定义时候赋的值 当把用户控件拖到窗体上后 默认情况下显示的初始值

   一个属性的默认值是非加粗显示 其他值都是加粗显示的

   如果想恢复某个属性的默认值 只需要右键单击该属性 选择重置 就可以恢复属性的默认值

  

     复杂属性的基本设置

  复杂类型主要是指引用类型 例如我们自定义的类 或者系统原有的类 复杂属性的设置主要是默认值的设置

  复杂属性的默认值设置不能再使用DefaultValue属性 需要使用Reset方法

  如果想判断当前属性是否使用的是默认值 可以使用ShouldSerialize属性名来判断 当然 这两个方法都需要我们自己来实现

  如下代码定义了一个颜色复杂属性

  

  //定义属性的初始值为红色 private Color _sColor = Color Red; [Category( 颜色 )] [Description( 第二颜色 )] public Color SecondColor { get { return _sColor; } set { _sColor = value; } } /// <summary> /// 用于判断当前属性是否在使用默认值 /// </summary> /// <returns></returns> public bool ShouldSerializeSecondColor() { return _sColor != Color Blue; } /// <summary> /// 用于设置属性的默认值为蓝色 /// </summary> public void ResetSecondColor() { _sColor = Color Blue; }

  这样我们在属性设计器中就可以通过重置命令 设置默认颜色为蓝色

lishixinzhi/Article/program/net/201311/13456

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式