RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
VC#.NET入门精典------(专题技术理解)组件篇(原创
  • 作者:zhaozj
  • 发表时间:2020-12-23 10:56
  • 来源:未知

原创文章.作者asusharp(拂尘之手),如需转摘,请注明作者.

在开始组件的讲解前我们得先明白几个概念的区别.那就是组件(Component),控件(Control),容器(Container)和场所(Site).

1.组件(Component)

    在Microsoft.Net Frameworks中.类是组件的实现形式。在面向对象程序设计中,所有具有功能的代码都应该封装在某个单元模块中,组件是类也就成理所当然的事情。但组件不同于其他的类。类为了变成组件,必须实现System.ComponentModel.IComponent接口。并提供一个没有参数的构造方法。如果一个类继承自实现了这个接口的类,那它也将成为组件。此外,组件可以被包含和安置在容器中,当它被安置在容器中时,它可以通过容器提供的场所和容器进行交互。

2.控件(Control)

    控件是具有用户接口(UI)的组件。在.net Framework中,只有继承自System.Windows.Forms.Control或System.Web.UI.Control的类才是控件,这两个类都实现了System.ComponentModel.IComponent接口。System.Windows.Forms.Control本身提供了UI功能,而System.Web.UI.Control提供了可以方便地加入UI的框架。

3.容器(Container)

    容器用来“盛放”组件,一个容器可以包含一个或多个组件,这些组件称为容器的子组件。容器也是类,一个类要成为容器,必须实现System.ComponentModel.IContainer接口,并提供一个没有参数的构造方法,也可以继承自实现了这个接口的类。

4.场所(Site)

    场所由容器提供,容器使用场所管理子组件,并和它们交互作用。通常情况下,容器和场所在同一个单元模块中实现。一个类要成为场所,必须实现System.ComponentModel.ISite接口。

    当在VS.NET中开发Windows Forms或Web Forms组件和控件时,没有必要实现容器和场所,因为Windows Forms Designer和Web Forms Designer就是Windows Forms和Web Forms控件的容器。

 

 

    组件是独立的代码模块,那其他代码或组件(比如容器)如何使用组件呢?又如何与组件进行交互呢?这就涉及到具体编程技术问题。下一讲将介绍和组件设计有关的程序设计技术。包括:属性,事件,Delegate,特性(Attribute)及授权。请关注。(完成目期:2004.08.17)