方法 : Modifiers プロパティおよび GenerateMember プロパティを使用する
Windows フォームにコンポーネントを配置するときに、デザイン環境では GenerateMember プロパティと Modifiers プロパティを使用できます。 GenerateMember プロパティは、Windows フォーム デザイナーでコンポーネントにメンバー変数を生成するときに指定します。 Modifiers プロパティは、そのメンバー変数に割り当てるアクセス修飾子です。 GenerateMember プロパティの値が false の場合、Modifiers プロパティの値は無効です。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。
コンポーネントがフォームのメンバーかどうかを指定するには
Windows フォーム デザイナーで、フォームを開きます。
ツールボックスを開き、3 つの Button コントロールをフォームに配置します。
Button コントロールの GenerateMember プロパティと Modifiers プロパティを、次の表に示した値に設定します。
ボタン名
GenerateMember 値
Modifiers 値
button1
true
private
button2
true
protected
button3
false
変更なし
ソリューションをビルドします。
ソリューション エクスプローラーの [すべてのファイルを表示] をクリックします。
[Form1] ノードを開き、コード エディターで、Form1.Designer.vb ファイルまたは Form1.Designer.cs ファイルを開きます。 このファイルには、Windows フォーム デザイナーからコードが出力されます。
3 つのボタンの宣言を探します。 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 フォーム デザイナーは、Panel などのコンテナー コントロールに既定で private (Visual Basic では Friend) 修飾子を割り当てます。 ベースの UserControl または Form にコンテナー コントロールが含まれていても、継承されたコントロールやフォームで新しい子を追加することはできません。 これを解決するには、ベースのコンテナー コントロールの修飾子を protected または public に変更します。