//================================================================================================= // C#のコンボボックス // コンボボックス内の項目を選択するとラベルの文字が変化するプログラム。 // 使い方はリストボックスと変わらない。 // ただし、表示されるのは1行のみとなっており、その他の項目はコンボボックスの右端をクリックしたとき // にドロップダウンされ表示される。 // // // 参考文献:やさしいC#(p190) // 2012/11/14/オワタ //================================================================================================= using System; using System.Windows.Forms; class MyComboBox : Form { private Label mLabel; //< ラベル private ComboBox mComboBox; //< コンボボックス //< メイン関数 public static void Main() { Application.Run(new MyComboBox()); } //< コンストラクタ public MyComboBox() { //< リストに表示する文字 String[] str = { "絢辻さん", "森島先輩", "橘さん", "美也", "ふかふか", "七咲", "肉", "もじゃ子" }; //< Window設定 this.Text = "コンボボックス"; this.Width = 250; this.Height = 200; //< ラベル生成 mLabel = new Label(); mLabel.Text = "いらっしゃいませ"; mLabel.Dock = DockStyle.Top; //< コンボボックス生成 mComboBox = new ComboBox(); //< コンボボックスの項目を追加 for (int i = 0; i < str.Length; i++) { mComboBox.Items.Add(str[i]); } //< コンボボックスの位置をラベルの真下に設置 mComboBox.Top = mLabel.Bottom; mLabel.Parent = this; mComboBox.Parent = this; //< コンボボックスの項目が選択された時に処理する関数を登録 mComboBox.SelectedIndexChanged += new EventHandler(comboBoxSelectedIndexChanged); } //< コンボボックスの項目が選択された時に処理される関数 public void comboBoxSelectedIndexChanged(Object obj, EventArgs e) { ComboBox tmp = (ComboBox)obj; mLabel.Text = tmp.Text + "を選びました。"; } };