C#でのComboBoxの初期値について解説!作成やサンプルも

- SE
- C#でのComboBoxの初期値についはどこで指定できますか。
- PM
- C#ではSelectedIndexプロパティやSelectedItemプロパティで初期値を指定できます。
C#でのComboBoxの初期値について
今回は、C#でのComboBoxの初期値について説明します。ComboBoxにはいくつものItemを追加できます。
初期表示時に何が選択された状態にするか(ComboBoxの初期値)は、自由に設定できます。C#でのComboBoxの初期値に興味のある方はぜひご覧ください。
SelectedIndexプロパティ
C#ではSelectedIndexプロパティで、初期値を指定できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { ComboBox comboBox; public Form1() { comboBox = new ComboBox(); comboBox.Location = new Point(20, 20); // アイテムの追加 comboBox.Items.AddRange(new string[] { "Item1", "Item2", "Item3" }); this.Controls.Add(comboBox); this.Text = "Form1"; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { // 初期値(未選択状態) comboBox.SelectedIndex = -1; } } } |
SelectedIndex = 0とするとItem1が初期値になり、SelectedIndex = 1とするとItem2が初期値になります。SelectedIndexに-1を指定することで、初期値を未設定状態にできます。
このように、C#ではSelectedIndexプロパティで初期値を指定できます。
SelectedItemプロパティ
C#ではSelectedItemプロパティで、初期値を指定できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { ComboBox comboBox; public Form1() { comboBox = new ComboBox(); comboBox.Location = new Point(20, 20); // アイテムの追加 comboBox.Items.AddRange(new string[] { "Item1", "Item2", "Item3" }); this.Controls.Add(comboBox); this.Text = "Form1"; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { // 初期値(Item2) comboBox.SelectedItem = "Item2"; } } } |
SelectedItemにItem文字列を指定することで、初期値になります。
SelectedTextプロパティ
同じように、C#ではSelectedTextプロパティで、初期値を指定できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { ComboBox comboBox; public Form1() { comboBox = new ComboBox(); comboBox.Location = new Point(20, 20); // アイテムの追加 comboBox.Items.AddRange(new string[] { "Item1", "Item2", "Item3" }); this.Controls.Add(comboBox); this.Text = "Form1"; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { // 初期値(Item3) comboBox.SelectedText = "Item3"; } } } |
SelectedTextにItem文字列を指定することで、初期値になります。
Textプロパティ
C#ではTextプロパティで、任意の文字列を初期値にできます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { ComboBox comboBox; public Form1() { comboBox = new ComboBox(); comboBox.Location = new Point(20, 20); // アイテムの追加 comboBox.Items.AddRange(new string[] { "Item1", "Item2", "Item3" }); this.Controls.Add(comboBox); this.Text = "Form1"; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { // 初期値 comboBox.Text = "---Choose---"; } } } |
この場合、Textプロパティに指定した任意の文字列が初期値になります。
Itemを選択すると任意文字列は消えます。
SelectedValueプロパティ
C#ではSelectedValueプロパティで、初期値を指定できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
using System; using System.Data; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { ComboBox comboBox; public Form1() { // データテーブル DataTable dataTable = new DataTable(); dataTable.Columns.Add("データ列"); dataTable.Columns.Add("表示列"); DataRow dataRow = dataTable.NewRow(); dataRow["データ列"] = "ID001"; dataRow["表示列"] = "Item1"; dataTable.Rows.Add(dataRow); dataRow = dataTable.NewRow(); dataRow["データ列"] = "ID002"; dataRow["表示列"] = "Item2"; dataTable.Rows.Add(dataRow); dataRow = dataTable.NewRow(); dataRow["データ列"] = "ID003"; dataRow["表示列"] = "Item3"; dataTable.Rows.Add(dataRow); // ComboBox comboBox = new ComboBox(); comboBox.Location = new Point(20, 20); comboBox.DataSource = dataTable; comboBox.DisplayMember = "表示列"; comboBox.ValueMember = "データ列"; this.Controls.Add(comboBox); this.Text = "Form1"; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { // 初期値(Item2) comboBox.SelectedValue = "ID002"; } } } |
実行すると、Item2が初期値になっていることが分かります。C#ではDataTableをComboBoxのデータソースにする場合、SelectedValueプロパティで初期値を指定できます。
- SE
- C#でのComboBoxの初期値はSelectedIndexプロパティやSelectedItemプロパティで指定できるのですね。
- PM
- はい。実際のソースコードを参考に、実際に自分で書いて、理解を深めていきましょう。
C#におけるComboBoxの初期値の設定方法を知ろう
いかがでしたでしょうか。C#におけるComboBoxの初期値の設定方法について説明しました。初期値の設定には、いくつかのプロパティが利用できます。
ぜひご自身でソースコードを書いて、理解を深めてください。