组件
zǔjiàn
1.[assembly]∶供装配整台机器、构件或元件的零件组合
2.[module;package]∶在电子或机械设备中组装在一起形成一个功能单元的一组元件
3.[unit]∶组装产品(如书橱或碗橱)时所组合的通常或多或少重复的部分
4.[section]∶可被组装或被重新组装的几个部件之一
简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
对象管理小组(Object Management Group,OMG)的“建模语言规范”中将组件定义为:“系统中一种物理的、可代替的部件、它封装了实现并提供了一系列可用的接口。一个组件代表一个系统中实现的物理部分,包括软件代码(源代码,二进制代码,可执行代码)或者一些类似内容,如脚本或者命令文件。”
组件并不是很复杂,.NET为我们提供了丰富的底层支持。如果有MFC或者API图形界面的开发心得,那么学会.net组件可能只需要很短的时间就够了。 自己开发的组件通常有三种类型:复合组件(Composite Controls),扩展组件(Extended Controls),自定义组件(Custom Controls)。
复合组件:将现有的各种组件组合起来,形成一个新的组件,将集中组件的性能集中起来。
扩展组件:在现有组件的组件的入门上派生出一个新的组件,为原有组件增加新的性能或者更改原有组件的控能。
自定义组件:直接从System.作windows.Forms.Control类派生出来。Control类提供组件所需要的所有入门性能,包括键盘和鼠标的事件处理。自定义组件是最灵活最强大的办法,但是对开发者的要求也比较高,你必须为Control类的OnPaint事件写源代码,你也可以重写Control类的WndProc办法,处理更底层的作windows消息,所以你应该学习GDI+和作windows API。
组件开发者应该掌握的三项主要内容是:属性、事件和方法。
由于组件开发复杂度较高, 专业第三方控件会重写或者拓展了一些方法和属性,从而能实现某些新的功能,同时他们有较大的可定制性,可以根据使用者的需要设置不同的特性,从而完全适应特定项目的需求。常见的第三方控件包括表格控件、报表控件、用户界面控件等。
用户界面组件