在 Visual Basic 中创建和使用组件

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

组件的重要功能是可设计它们,这意味着可以在 Visual Studio 集成开发环境中使用作为组件的类。 可以将组件添加到工具箱中,拖放到窗体上,并在设计图面上进行操作。 .NET 中内置了组件的基本设计时支持。 组件开发人员无需执行任何其他工作即可利用基本设计时功能。

控件类似于组件,因为两者都是可设计的。 但是,控件提供用户界面,而组件则不提供。 控件必须派生自基控件类之一: ControlControl

何时创建组件

如果你的类将用于设计图面(如 Windows 窗体或 Web 窗体设计器),但没有用户界面,则它应该是组件和实现 IComponent,或者派生自直接或间接实现的 IComponent类。

Component类和MarshalByValueComponent类是IComponent接口的基本实现。 这些类之间的主要区别是 Component 类按引用封送,而 IComponent 按值封送。 以下列表为实施者提供了广泛的准则。

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

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

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

组件类

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

核心组件类包括:

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

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

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

另请参阅