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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net WinForm用户控件开发:用户控件的基本属性设置相关的知识,希望对你有一定的参考价值。

参考技术A

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

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

  这节内容

   简单数据类型的属性设置

   复杂数据类型的属性设置

   简单数据类型的属性设置

  简单数据类型 就是 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

.NET Winform 自定义分页控件如何在父窗体中调用?

我现在遇到一个问题,我自己写了一个分页用户控件testControl(有首页,上一页,下一页,跳转(多少页)按钮 gotoBtn),这个用户控件里面有一个获取数据源的方法GetData(),
父窗体有两个控件:1是数据显示控件dataGridView1,2是我刚刚定义的用户控件testControl;
父窗体在加载的时候可以 用
DataTable dt = testControl.GetData();
dataGridView1.DataSource = dt;
这样就可以绑定第一次的数据了,可是问题是当我在父窗体点击跳转的时候如何获取testControl里面的GetData()方法呢?好像要用到委托和事件,我之前没搞过,有点弄不出来,哪位大神帮忙解决下,非常感谢!

参考技术A 这个并不难,跳转需要的只是指定页面的数据获取,你记录跳转按钮前的分页号,然后重新在后台请求一次数据,然后把这份数据再次绑定到dataGridView1,然后dataGridView1.DataBind()一次,这个操作就是把你刚刚绑定的数据重新刷新到你页面渲染出来。
获取数据的方法我看你的GetData里面已经有用到,我就不说了,但是你得记住一个问题,你需要验证分页号是否超出你当前数据所有页面,如果超出你需要处理一下。本回答被提问者和网友采纳

以上是关于.net WinForm用户控件开发:用户控件的基本属性设置的主要内容,如果未能解决你的问题,请参考以下文章

winform各种属性方法控件

c# winform .net 为用户控件创建按钮点击事件

Winform窗体基本属性

c# 用户自定义控件的问题 winform

android自定义控件怎么用

winform控件问题