【Visual Studio风格开发系列 - WinForm】WinForm 控件开发基础

来源:互联网 发布:发展下线系统源码 编辑:程序博客网 时间:2024/06/06 03:18

    对于C# WinForm控件开发,MSDN上提供了很多使用的方法,那么这里就向你介绍对于C# WinForm控件开发的基本了解内容,C#开发WinForm控件的类型以及各自的特点。

 

C# WinForm控件开发的伊始:

    其实C#开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界面的开发经验,那么学会WinForm控件可能只需要很短的时间就够了。

    自己开发的WinForm控件通常有三种类型:复合控件(Composite Controls),扩展控件(Extended Controls),自定义控件(Custom Controls)。

    ◆复合控件:将现有的各种控件组合起来,形成一个新的控件,将集中控件的功能集中起来。

    ◆扩展控件:在现有控件的基础上派生出一个新控件,为原有控件增加新的功能或者修改原有控件的功能。

    ◆自定义控件:直接从System.Windows.Forms.Control类派生出来。Control类提供控件所需要的所有基本功能,包括键盘和鼠标的事件处理。自定义控件是最灵活最强大的方法,但是对开发者的要求也比较高,你必须为Control类的OnPaint事件写代码,你也可以重写Control类的WndProc方法,处理更底层的Windows消息,所以你应该了解GDI+和Windows API。

 

C# WinForm控件开发之控件(可视化的)的基本特征:

1. 可视化。

2. 可以与用户进行交互,比如通过键盘和鼠标。

3. 暴露出一组属性和方法供开发人员使用。

4. 暴露出一组事件供开发人员使用。

5. 控件属性的可持久化。

6. 可发布和可重用。

   

C# WinForm控件开发之Attribute的使用:

控件设计中一些主要的Attribute:  
BrowsableAttribute:描述是否一个属性或事件应该被显示在属性浏览器里。
CategoryAttribute:描述一个属性或事件的类别,当使用类别的时候,属性浏览器按类别将属性分组。
DescriptionAttribute:当用户在属性浏览器里选择属性的时候,description里指定的文本会显示在属性浏览器的下边,向用户显示属性的功能。
BindableAttribute:描述是否一个属性倾向于被绑定。
DefaultPropertyAttribute:为组件指定一个默认的属性,当用户在窗体设计器上选择一个控件的时候,默认属性会在属性浏览器里被选中。 

DefaultEventAttribute:为组件指定一个默认的事件,当用户在窗体设计器中选择一个控件的时候,在属性浏览器中这个事件被选中。  
DefaultValueAttribute:为一个简单类型的属性设置一个默认值。
EditorAttribute:为属性指定一个特殊的编辑器。
LocalizableAttribute:指示一个属性是否能被本地化,任何具有该Attribute的属性将会被持久化到资源文件里。   
DesignerSerializationVisibilityAttribute:指示一个属性是否或者如何持久化到代码里。
TypeConverterAttribute:为属性指定一个类型转换器,类型转换器能将属性的值转化成其它的数据类型。

原创粉丝点击