Share via


在 Visual Basic 中建立和使用元件

「元件」是實作 System.ComponentModel.IComponent 介面的類別,或直接或間接衍生自可實作 IComponent 類別的類別。 .NET 元件是能重複使用的物件,可以與其他物件互動,並且提供對於外部資源的控制與設計階段支援。

元件的一項重要功能是可以進行設計,這表示類別如果是元件,則可用於 Visual Studio 整合式開發環境。 元件可以新增至工具箱、拖曳並放至表單上,以及在設計介面上操作。 元件的基底設計階段支援已內建至 .NET 中。 元件開發人員不需要執行任何額外的工作,即可利用基底設計階段功能。

「控制項」類似於元件,都是可以設計的。 不過,控制項提供使用者介面,而元件則不提供。 控制項必須衍生自基底控制項類別其中之一︰ControlControl

建立元件的時機

如果您的類別將用在設計介面 (例如 Windows Forms 或 Web Forms 設計工具),但沒有使用者介面,則它應該是元件,並且實作 IComponent,或衍生自直接或間接實作 IComponent 的類別。

ComponentMarshalByValueComponent 類別是 IComponent 介面的基底實作。 這些類別的主要差異在於 Component 類別是以傳址方式封送處理,而 IComponent 是以傳值方式封送處理。 下列清單為實作者提供廣泛的指導方針。

  • 如果您的元件需要以傳址方式封送處理,則衍生自 Component

  • 如果您的元件需要以傳值方式封送處理,則衍生自 MarshalByValueComponent

  • 如果您的元件因為單一繼承而不能衍生自其中一個基底實作,請實作 IComponent

元件類別

System.ComponentModel 命名空間提供類別,用來實作元件和控制項的執行階段和設計階段行為。 此命名空間包含基底類別和介面,以便實作屬性和類型轉換器、繫結至資料來源,以及授權元件。

核心元件類別包括︰

用於元件授權的部分類別包括︰

常用於描述和保存元件的類別。

針對控制項和元件撰寫進行疑難排解
說明如何修正常見問題。

另請參閱