如何:使用修飾詞和 GenerateMember 屬性
當您將元件放在 Windows Form 上時,設計環境會提供兩個屬性: GenerateMember
和 Modifiers
。 屬性 GenerateMember
會指定 Windows Forms 設計工具何時產生元件的成員變數。 屬性 Modifiers
是指派給該成員變數的存取修飾詞。 如果 屬性的值 GenerateMember
是 false
,則 屬性的值 Modifiers
沒有任何作用。
指定元件是否為表單的成員
在 Visual Studio 的 Windows Forms 設計工具中,開啟您的表單。
開啟 [ 工具箱 ],然後在表單上放置三 Button 個控制項。
根據下表設定每個 Button 控制項的
GenerateMember
和Modifiers
屬性。按鈕名稱 GenerateMember 值 修飾詞值 button1
true
private
button2
true
protected
button3
false
沒有變化 建置方案。
在方案總管中,按一下 [顯示所有檔案] 按鈕。
開啟 Form1 節點,然後在程式 代碼編輯器 中 開啟 Form1.Designer.vb 或 Form1.Designer.cs 檔案。 此檔案包含 Windows Forms 設計工具發出的程式碼。
尋找三個按鈕的宣告。 下列程式碼範例顯示 和
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 設計工具會將 private
( Friend
在 Visual Basic 中) 修飾詞指派給容器控制項,例如 Panel 。 如果您的基底 UserControl 或 Form 具有容器控制項,它將不會接受繼承控制項和表單中的新子系。 解決方案是將基底容器控制項的修飾詞變更為 protected
或 public
。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應