在 Visual Basic 中建立和使用元件

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

元件的其中一項重要特色是使用者可以設計元件,這表示本身為元件的類別,可以用於 Visual Studio 整合式開發環境。 元件可以加入至 [工具箱]、拖放到表單上,以及在設計介面上操作。 請注意,元件的基底設計階段支援是內建於 .NET Framework,元件開發人員不必執行額外的工作,就能利用基底設計階段的功能。

「控制項」(Control) 與元件類似,都是可以設計的。 不過,控制項會提供使用者介面,元件則不提供。 控制項必須從基本控制項類之一:ControlControl

建立元件的時機

如果您的類別會用在設計介面上 (例如 Windows Form 或 Web Form 設計工具),但是卻沒有使用者介面,則它必須是元件並會實作 IComponent,或是從實作 IComponent 的類別直接或間接衍生的。

ComponentMarshalByValueComponent 類別都是 IComponent 介面的基底實作。 這些類別的主要差異在於,Component 類別是以傳址 (By Reference) 方式封送處理,而 IComponent 則是以傳值 (By Value) 方式封送處理。 下列清單會為實作人員提供較廣泛的方針。

  • 如果元件必須以傳址方式封送處理,請從 Component 衍生。

  • 如果元件必須以傳值方式封送處理,則從 MarshalByValueComponent 衍生。

  • 如果元件因單一繼承 (Inheritance) 問題,而無法從其中一個基底實作衍生,則請實作 IComponent

如需設計階段支援的詳細資訊,請參閱 元件的設計階段屬性擴充設計階段支援

元件類別

System.ComponentModel 命名空間提供類別,用於實作元件和控制項的執行階段和設計階段行為。 這個命名空間會包含基底類別 (Base Class) 和介面,用於實作屬性 (Attribute) 和型別轉換子 (Type Converter)、繫結至資料來源,以及授權元件。

核心元件類別包括:

用於元件授權的類別包括:

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

相關章節

請參閱

工作

HOW TO:在 Windows Form 中存取設計階段支援

HOW TO:在設計模式中擴充控制項的外觀和行為

HOW TO:在設計模式中執行控制項的自訂初始設定