共用方式為


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

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

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

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

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

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

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

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

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

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

    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 Forms 設計工具會將 privateFriend 在 Visual Basic 中) 修飾詞指派給容器控制項,例如 Panel 。 如果您的基底 UserControlForm 具有容器控制項,它將不會接受繼承控制項和表單中的新子系。 解決方案是將基底容器控制項的修飾詞變更為 protectedpublic

另請參閱