一、Winform之Component Class、User Control

一、引子:

我们用winform做企业级客户端的时候,需要很多自定义的组件,比方我们就可以自定义提示条控件,该控件上可以包含文字展示和按钮点击,如下图:

 

 这样我们就自定义了一个提示条控件,在需要使用的地方直接调用就可以,你可以为你自定义的控件提供公共属性,在调用的时候就可以设置该提示条的文本、背景色、按钮等。

那么我们应该怎么新建自定义的控件呢?这就是这篇文章的重点,下面讲述

二、新建自定义控件

做winform的时候基本就用过Component Class、User Control两种方式。

 1、用户控件,如上图圈1。

  用户控件是封装在公共容器内的 Windows 窗体控件的集合,在应用程序内部或应用程序之间提供一致性行为和用户界面的复合控件。此容器包含与每个 Windows 窗体控件相关联的所有固有功能,允许您有选择地公开和绑定它们的属性。该控件可能包括几个用来显示字段的文本框,几个用来通过记录定位的按钮 (Button) 控件。可以有选择地公开数据绑定属性,可以将整个控件打包并在应用程序之间重复使用。

2、组件,如上图圈2。  

  组件(Component Class)可以从任何现有的 Windows 窗体控件继承产生新的控件。此方法使您得以保留 Windows 窗体控件所有固有功能,然后通过添加自定义属性、方法或其他功能扩展此固有功能。例如,可以创建一个从 TextBox 继承的控件,该控件只接受数字并能自动将输入转换为值。这样的控件可能包含验证代码,每当文本框中的文本发生更改时就会调用此代码,另外,控件还可能有一个附加的“值”属性。在某些控件中,也可以通过重写基类的 OnPaint 方法将自定义外观添加到控件的图形接口上。

三、选择哪种方式建立自定义控件呢

  上边已经详细的介绍了用户控件和组件的定义。用户控件适合做复合控件,比如上边的提示条。组件主要是对winform已经提供的控件进行继承,然后扩展或者改造。还是建议做个demo都尝试一下,才能更好的理解。

原文地址:https://www.cnblogs.com/qtiger/p/12895431.html