- ベストアンサー
C#でラジオボタンとコンボボックスの値を連動させる方法
- C#でラジオボタンとコンボボックスの値を連動させる方法について教えてください。
- 具体的な仕様としては、4つのラジオボタンを選択すると、それに応じてコンボボックスの項目が変化するような動作を実現したいです。
- 具体的な手順やソースコードを教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
いくつか方法はあるでしょうが…… public Form1() { InitializeComponent(); this.radioButton1.CheckedChanged += new EventHandler(radioButton_CheckedChanged); this.radioButton2.CheckedChanged += new EventHandler(radioButton_CheckedChanged); this.radioButton3.CheckedChanged += new EventHandler(radioButton_CheckedChanged); this.radioButton4.CheckedChanged += new EventHandler(radioButton_CheckedChanged); } private void radioButton_CheckedChanged(object sender, EventArgs e) { RadioButton Target = (RadioButton)sender; if (Target.Checked == true) { string[] Items = null; if (Target == this.radioButton1) Items = new string[] { "1", "2", "3"}; else if(Target == this.radioButton2) Items = new string[] { "10", "20", "30" }; else if (Target == this.radioButton3) Items = new string[] { "100", "200", "300" }; else if (Target == this.radioButton4) Items = new string[] { "1000", "2000", "3000" }; this.comboBox1.Items.Clear(); if (Items != null) foreach (string Item in Items) this.comboBox1.Items.Add(Item); } } こんな感じですかね? コンストラクタで設定しているイベントハンドラの登録はデザイナ側でやっても問題ないと思います。 まぁ、コンストラクタで明示的にやっているかInitializeComponent()内部に隠蔽されるかの違いしかありませんが。 # 全角空白でインデントしているのでソースに適用するならその辺りはよろしく処理して下さいな。
お礼
やりたいことができました!ありがとうございました!