方法 : Modifiers プロパティおよび GenerateMember プロパティを使用する
更新 : 2007 年 11 月
Windows フォームにコンポーネントを配置するときに、デザイン環境では GenerateMember プロパティと Modifiers プロパティを使用できます。GenerateMember プロパティは、Windows フォーム デザイナでコンポーネントにメンバ変数を生成するときに指定します。Modifiers プロパティは、そのメンバ変数に割り当てるアクセス修飾子です。GenerateMember プロパティの値が false の場合、Modifiers プロパティの値は無効です。
メモ : |
---|
使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
コンポーネントがフォームのメンバかどうかを指定するには
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 に変更します。 |