HOW TO:使用修飾詞和 GenerateMember 屬性
當您將元件置於 Windows Form 時,設計環境會提供兩個屬性:GenerateMember 和 Modifiers。 GenerateMember 屬性會指定 Windows Form 設計工具產生元件之成員變數的時機。 Modifiers 屬性是指派給該成員變數的存取修飾詞。 如果 GenerateMember 屬性的值是 false,Modifiers 屬性的值就沒有作用。
注意事項 |
---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。 若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。 如需詳細資訊,請參閱 使用設定。 |
若要指定元件是否為表單成員
在 Windows Form 設計工具中開啟表單。
開啟 [工具箱],然後在表單上放置三個 Button 控制項。
根據下表設定每個 Button 控制項的 GenerateMember 和 Modifiers 屬性。
按鈕名稱
GenerateMember 值
修飾詞值
button1
true
private
button2
true
protected
button3
false
沒有變更
建置方案。
在 [方案總管] 中按一下 [顯示所有檔案] 按鈕。
開啟 [Form1] 節點,然後在 [程式碼編輯器] 中,開啟 [Form1.Designer.vb] 或 [Form1.Designer.cs] 檔。 這個檔案包含 Windows Form 設計工具所發出的程式碼。
尋找三個按鈕的宣告。 下列程式碼範例示範 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) 控制項。 如果您的基底 UserControl 或 Form 具有容器控制項,其將不會在繼承的控制項和表單中接受新的子系。 解決方案是將基底容器控制項的修飾詞,變更成 protected 或 public。 |