共用方式為


如何:使用修飾詞和 GenerateMember 屬性

當您將元件放在 Windows Form 上時,設計環境會提供兩個屬性:GenerateMemberModifiersGenerateMember 屬性會指定 Windows Form 設計工具何時產生元件的成員變數。 Modifiers 屬性是指派給該成員變數的存取修飾元。 如果 GenerateMember 屬性的值是 false,則 Modifiers 屬性的值沒有任何作用。

指定元件是否為表單的成員

  1. 在 Visual Studio 的 Windows Form 設計工具中,開啟您的表單。

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

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

    按鈕名稱 GenerateMember 值 修飾元值
    button1 true private
    button2 true protected
    button3 false 沒有變化
  4. 建置方案。

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

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

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

    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();
    
    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()
    
    // 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.
    
     ' 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.
    

注意

根據預設,Windows Form 設計工具會將 private (Visual Basic 中的 Friend) 修飾元指派給容器控制項,例如 Panel。 如果您的基底 UserControlForm 具有容器控制項,它將不會接受繼承控制項和表單中的新子系。 解決方案是將基底容器控制項的修飾元變更為 protectedpublic

另請參閱