Share via


HOW TO:使用修飾詞和 GenerateMember 屬性

當您將元件置於 Windows Form 時,設計環境會提供兩個屬性:GenerateMember 和 Modifiers。 GenerateMember 屬性會指定 Windows Form 設計工具產生元件之成員變數的時機。 Modifiers 屬性是指派給該成員變數的存取修飾詞。 如果 GenerateMember 屬性的值是 false,Modifiers 屬性的值就沒有作用。

注意事項注意事項

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

若要指定元件是否為表單成員

  1. 在 Windows Form 設計工具中開啟表單。

  2. 開啟 [工具箱],然後在表單上放置三個 Button 控制項。

  3. 根據下表設定每個 Button 控制項的 GenerateMember 和 Modifiers 屬性。

    按鈕名稱

    GenerateMember 值

    修飾詞值

    button1

    true

    private

    button2

    true

    protected

    button3

    false

    沒有變更

  4. 建置方案。

  5. 在 [方案總管] 中按一下 [顯示所有檔案] 按鈕。

  6. 開啟 [Form1] 節點,然後在 [程式碼編輯器] 中,開啟 [Form1.Designer.vb] 或 [Form1.Designer.cs] 檔。 這個檔案包含 Windows Form 設計工具所發出的程式碼。

  7. 尋找三個按鈕的宣告。 下列程式碼範例示範 GenerateMember 和 Modifiers 屬性指定的差異。

    Private Sub InitializeComponent()
    
        ' button3 is declared in a local scope, because 
        ' its GenerateMember property is false.
        Dim button3 As System.Windows.Forms.Button
        Me.button1 = New System.Windows.Forms.Button()
        Me.button2 = New System.Windows.Forms.Button()
        button3 = New System.Windows.Forms.Button()
    
    private void InitializeComponent()
    {   
        // button3 is declared in a local scope, because 
        // its GenerateMember property is false.
        System.Windows.Forms.Button button3;
        this.button1 = new System.Windows.Forms.Button();
        this.button2 = new System.Windows.Forms.Button();
        button3 = new System.Windows.Forms.Button();
    
     ' The Modifiers property for button1 is "Private".
     Private button1 As Button
    
     ' The Modifiers property for button2 is "Protected".
     Protected button2 As Button
    
    ' button3 is not a member, because 
    ' its GenerateMember property is false.
    
    // The Modifiers property for button1 is "private".
    private Button button1;
    
    // The Modifiers property for button2 is "protected".
    protected Button button2;
    
    // button3 is not a member, because 
    // its GenerateMember property is false.
    
注意事項注意事項

根據預設,Windows Form 設計工具會將 private (Visual Basic 中的 Friend) 修飾詞 (Modifier) 指派給像是 Panel 的容器 (Container) 控制項。 如果您的基底 UserControlForm 具有容器控制項,其將不會在繼承的控制項和表單中接受新的子系。 解決方案是將基底容器控制項的修飾詞,變更成 protected 或 public。

請參閱

工作

逐步解說:示範視覺化繼承

HOW TO:繼承 Windows Form

參考

Button

其他資源

Windows Form 視覺繼承