创建和使用组件 (Visual Basic)

组件是一个类,该类实现 System.ComponentModel.IComponent 接口或直接/间接派生自实现 IComponent 的类。 NET 组件是可重复使用的对象,可以和其他对象进行交互,并提供对外部资源和设计时支持的控制。

组件的一个重要特性在于它们是可设计的,这意味着可在 Visual Studio 集成开发环境中使用作为组件的类。 可以将组件添加到“工具箱”、拖放到窗体以及在设计图面上操作。 对组件的基本设计时支持已内置于 .NET 中。 组件开发人员不必执行任何附加工作便可利用基本设计时功能。

控件与组件类似,二者都是可设计的。 不过,控件提供用户界面,而组件不提供。 控件必须派生自基控件类之一:ControlControl

创建组件的时间

如果类将在设计图面(如 Windows 窗体设计器或 Web 窗体设计器)上使用,但没有用户界面,此类应该是一个组件并实现 IComponent,或者是从直接或间接实现 IComponent 的类派生的。

ComponentMarshalByValueComponent 类是 IComponent 接口的基实现。 这些类之间的主要区别在于 Component 类由引用封送,而 IComponent 由值封送。 以下列表为实施者提供了全面的指南。

  • 如果组件需要由引用封送,请从 Component 派生。

  • 如果组件需要由值封送,请从 MarshalByValueComponent 派生。

  • 如果因单一继承导致无法从其中一个基实现派生组件,则请实现 IComponent

组件类

System.ComponentModel 命名空间提供用于实现组件和控件的运行时和设计时行为的类。 此命名空间包括用于特性和类型转换器的实现、数据源绑定和组件授权的基类和接口。

核心组件类包括:

部分用于组件授权的类包括:

常用于描述和保存组件的类。

控件和组件创作疑难解答
解释如何解决常见问题。

请参阅