共用方式為


HOW TO:擴充元件容器

元件容器是完全可擴充的。 您可以繼承自 Container 類別並加入屬性或方法、加入自訂功能來強制規則、覆寫基底方法或任何您要加入至容器中的其他自訂功能。 如需容器和擴充容器的詳細資訊,請參閱容器、站台和元件

您擴充 Container 的方法就和擴充任何基底類別一樣。 您先建立繼承基底類別屬性的類別、覆寫您要擴充的任何基底方法並加入您需要的任何其他屬性或方法。 您接著就可以像使用標準的 Container 一般來使用您的新類別,也可以使用任何您已編碼的新功能。

若要擴充 Container 基底類別

  1. 宣告繼承自 Container 類別的新類別。

    Public Class myContainer
       Inherits System.ComponentModel.Container
    End Class
    
    class myContainer: System.ComponentModel.Container
    {
    }
    
    class myContainer
       extends System.ComponentModel.Container
    {
    }
    
  2. 覆寫任一基底類別方法來加入其他功能。 以下範例將說明如何覆寫 Add 方法。

    注意事項注意事項

    Container 實際上有兩個 Add 多載,在這個範例中,您會提供每個多載的覆寫。

    ' Because Add is overloaded, this line includes the Overloads keyword.
    Public Overloads Overrides Sub Add(ByVal component As _
       System.ComponentModel.IComponent)
       ' Determines if the component can be added to the container.
       If TypeOf component Is Widget Then
          ' Calls the base Add function to add the component.
          MyBase.Add(component)
       Else
          ' Throws an exception.
          Throw New NonWidgetException()
       End If
    End Sub
    
    public override void Add(System.ComponentModel.IComponent component)
    {
       if (component is Widget)
          base.Add(component);
       else 
       {
          throw(new NonWidgetException());
       }
    }
    
    public void Add(System.ComponentModel.IComponent component)
       throws NonWidgetException
    {
       if ( component instanceof Widget  ) {
          super.Add(component);
       }
       else
       {
          throw new NonWidgetException() ;
       }
    }
    
  3. 加入任何您要新容器加入的新屬性或方法。

請參閱

工作

HOW TO:建立元件容器

參考

Container

概念

容器、站台和元件

容器與元件之間的通訊