共用方式為


HOW TO:繼承自現有的 Windows Form 控制項

如果您要擴充現有控制項的功能,您可以建立透過繼承而從現有控制項衍生控制項。繼承現有控制項時,您將繼承該控制項的所有功能和視覺屬性。例如,如果您建立繼承 Button 的控制項時,則新控制項的外觀和動作將和標準的 Button 控制項完全一樣。然後您可以透過自訂方法和屬性的實作,來擴充或修改新控制項的功能。在部分控制項中,您也可以覆寫其 OnPaint 方法來變更您所繼承控制項的視覺外觀。

Note注意事項

根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

若要建立繼承的控制項

  1. 建立新的 Windows 專案。

    這個專案可為任何型別,例如 [Windows 應用程式] 專案或 [Windows 控制項程式庫] 專案。如果您選擇 [Windows 控制項程式庫],您可使用提供的空白控制項並略過步驟 2 和 3。

  2. 從 [專案] 功能表中選擇 [加入使用者控制項]。

    [加入新項目] 對話方塊便會出現。

  3. 在 [加入新項目] 對話方塊中,按兩下 [自訂控制項]。

    新的自訂控制項將加入至您的專案中。

  4. 在 [程式碼編輯器] 中,尋找將 Control 指定為基底類別以便加以繼承的行。將基底類別的名稱變更為要繼承的控制項的名稱。

    例如,如果您要繼承 Button,這一行看起來會是:

    Inherits System.Windows.Forms.Button
    
    public class CustomControl1 : System.Windows.Forms.Button
    
    public class CustomControl1
       extends System.Windows.Forms.Button
    
  5. 實作您的控制項將要加入的任何自訂方法或屬性。

  6. 如果要修改控制項的圖形外觀,請覆寫 OnPaint 方法。

    Note注意事項

    覆寫 OnPaint 將無法讓您修改所有控制項的外觀。如果某些控制項的繪製都是由 Windows 所完成的 (例如,TextBox),則這些控制項一定不會呼叫其 OnPaint 方法,因此也一定不會使用自訂程式碼。請參閱要修改的特定控制項的說明文件,以查看是否可以使用 OnPaint 方法。如需所有 Windows Form 控制項的清單,請參閱在 Windows Form 上使用的控制項。如果控制項沒有將 OnPaint 列為成員方法,則您無法藉由覆寫這個方法來變更其外觀。如需自訂繪製的詳細資訊,請參閱自訂控制項繪製和轉譯

    Protected Overrides Sub OnPaint(ByVal pe As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(pe)
       ' Insert code to do custom painting. If you want to completely
       ' change the appearance of your control, do not call
       ' MyBase.OnPaint(pe).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       base.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
    protected void OnPaint(PaintEventArgs pe) 
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       super.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
  7. 儲存和測試您的控制項。

請參閱

工作

HOW TO:繼承自 Control 類別
HOW TO:繼承自 UserControl 類別
HOW TO:撰寫 Windows Form 的控制項
Visual Basic 2005 中繼承事件處理常式疑難排解

概念

各種自訂控制項