■65268 / inTopicNo.2) |
Re[1]: 別フォームのコントロール操作 |
□投稿者/ howling (195回)-(2013/02/15(Fri) 16:35:33)
|
■No65264 (震えるひよこ さん) に返信 こんにちわ。
単純にradioButtonのアクセスレベルがpublicになっていないために起こっている現象です。 一応3つほど方法は思いつきますが、3つ目をオススメします。
1.radioButton1のメンバ定義部分で、「private」or「protected」となっているアクセスレベルを「public」に変更する。 2.radioButton1を返すパブリックプロパティ(今回はgetのみで良い)を定義し、それを呼び出す。
//こんな感じ public RadioButton RadioButton1 { get { return radioButton1; } }
3.Form2に、指定したラジオボタンのチェックを入れるパブリックメソッドを追加する。
public enum RadioButtonIndex { RadioButton_1, RadioButton_2, RadioButton_3 }
//こんな感じ public void CheckButton(RadioButtonIndex eRadioButtonIndex) { switch(eRadioButtonIndex) { case RadioButtonIndex::RadioButton_1 { this.radioButton1.Checked = true; //自分自身がForm2だから、this指定になっている break; } //同様に他のも書く } }
アクセスレベルについては下記のURLあたりをどうぞ。 http://msdn.microsoft.com/ja-jp/library/wxh6fsc7(v=vs.80).aspx
3番目を薦める理由はオブジェクト志向が絡んでくるからなのですが、 私自身、これをしっかり説明しきれる程理解できているとは思っていません。 「そのオブジェクトに対してお願いして、自分自身は何も知らないでも良い形にする」というのが なんとなく自分の中にありますので…。
|
|