- ベストアンサー
C#でJavaのComboBoxModelのような機能
お世話になります。 初心者的な質問で失礼します。 C#でコンボボックスを表示するときに、選択項目が 変更されたときに、その項目の説明を別のテキストボックスに 表示したいのですが、何か良い方法はありますでしょうか。 Dictionaryクラスみたいなやつをそのままコンボボックスに 設定するようなものがあって、コンボボックスで選ばれた キーをもとに、その要素を返すような感じのものなど…。 良い方法をご指導ください。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
JAVAはさっぱり分かりませんが >Dictionaryクラスみたいなやつをそのままコンボボックスに >設定するようなものがあって、コンボボックスで選ばれた >キーをもとに、その要素を返すような感じのものなど…。 DisplayMemberとValueMemberを使用してみるのは如何でしょうか? (さんぷる) const DISPMEMBER = "Disp" const VALUEMEMBER = "Value" private void SetCombo() { DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(DISPMEMBER); dt.Columns.Add(VALUEMEMBER); dr = dt.NewRow(); dr[DISPMEMBER] = "りんご"; dr[VALUEMEMBER] = "真っ赤でおいしいよ!"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[DISPMEMBER] = "みかん"; dr[VALUEMEMBER] = "酸っぱくておいしいよ!"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[DISPMEMBER] = "ばなな"; dr[VALUEMEMBER] = "遠足のお供に!"; dt.Rows.Add(dr); comboBox.DataSource = dt; comboBox.DisplayMember = DISPMEMBER; comboBox.ValueMember = VALUEMEMBER; } private void comboBox_SelectedIndexChanged() { textBox.Text = comboBox.SelectedValue.ToString(); }
お礼
milletjelさん、ありがとうございました。 教えていただいた方法で、なんとか実現できそうです。 Javaのクラスとは、少し違っていました^^; 申し訳ありません。 また何かありましたら、宜しくお願い致します。