如何:使用修飾詞和 GenerateMember 屬性
當您將元件放在 Windows Form 上時,設計環境會提供兩個屬性:GenerateMember
和 Modifiers
。
GenerateMember
屬性會指定 Windows Form 設計工具何時產生元件的成員變數。
Modifiers
屬性是指派給該成員變數的存取修飾元。 如果 GenerateMember
屬性的值是 false
,則 Modifiers
屬性的值沒有任何作用。
指定元件是否為表單的成員
在 Visual Studio 的 Windows Form 設計工具中,開啟您的表單。
開啟 [工具箱],然後在表單上放置三個 Button 控制項。
根據下表設定每個
GenerateMember
控制項的Modifiers
和 Button 屬性。按鈕名稱 GenerateMember 值 修飾元值 button1
true
private
button2
true
protected
button3
false
沒有變化 建置方案。
在方案總管中,按一下 [顯示所有檔案] 按鈕。
開啟 Form1 節點,然後在程式碼編輯器中開啟 Form1.Designer.vb 或 Form1.Designer.cs 檔案。 此檔案包含 Windows Form 設計工具所發出的程式碼。
尋找三個按鈕的宣告。 下列程式碼範例顯示
GenerateMember
和Modifiers
屬性所指定的差異。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。 如果您的基底 UserControl 或 Form 具有容器控制項,它將不會接受繼承控制項和表單中的新子系。 解決方案是將基底容器控制項的修飾元變更為 protected
或 public
。