はじめに
SelectedIndex プロパティは、ComboBox内で現在選択されている項目の「位置(インデックス番号)」を示します。
インデックス番号は 0 から始まり、選択がない場合は -1 が返されます。
SelectedIndexプロパティとは?
ComboBox内の選択状態を数値で管理するプロパティです。
項目を選択したり、プログラムで選択を変更したりする際に利用します。
💡 ポイント:
インデックスは「0」から始まるため、最初の項目を選択するには
インデックスは「0」から始まるため、最初の項目を選択するには
SelectedIndex = 0 とします。
基本的な使い方
現在の選択位置を取得する
int index = comboBox1.SelectedIndex;
MessageBox.Show($"現在の選択インデックス: {index}");
選択位置を変更する
comboBox1.SelectedIndex = 2; // 3番目の項目を選択
選択を解除する
comboBox1.SelectedIndex = -1; // 選択なしの状態に戻す
実用例:選択イベントとの組み合わせ
using System;
using System.Windows.Forms;
namespace ComboBoxSelectedIndexSample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.AddRange(new string[] { "Python", "C#", "Java", "JavaScript" });
comboBox1.SelectedIndex = 0; // 初期値として最初の項目を選択
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show($"選択されたインデックス: {comboBox1.SelectedIndex}\n" +
$"選択された項目: {comboBox1.SelectedItem}");
}
}
}
この例では、選択が変わるたびにインデックス番号と項目名をメッセージで表示します。
UIの動作を確認するのに便利です。
インデックスと関連するプロパティ
| プロパティ名 | 説明 |
|---|---|
SelectedIndex |
選択されている項目の位置を示す(0始まり) |
SelectedItem |
選択されている項目のオブジェクトを返す |
SelectedValue |
データバインド時に対応する値を返す |
単純なリストでは SelectedItem が便利ですが、
データバインドを利用する場合は SelectedValue を使うとコードが簡潔になります。
注意点
Itemsに項目が存在しない場合、SelectedIndexに値を設定すると例外が発生します。- データバインドを使っている場合、
SelectedIndexではなくSelectedValueの操作が優先されることがあります。 - 選択を解除するには
-1を設定します。
応用例:次/前の項目に移動する
private void NextItem()
{
if (comboBox1.SelectedIndex < comboBox1.Items.Count - 1) { comboBox1.SelectedIndex++; } } private void PreviousItem() { if (comboBox1.SelectedIndex > 0)
{
comboBox1.SelectedIndex--;
}
}
このように、SelectedIndex をインクリメント/デクリメントすることで
「次へ」「前へ」ボタンを実装できます。
まとめ
SelectedIndexは選択項目の位置を表す数値プロパティ- インデックス番号は 0 始まりで、未選択は -1
- 選択変更イベント (
SelectedIndexChanged) と組み合わせると便利 - 動的に選択を変更したいときに最もシンプルな方法
Please follow and like us:

コメント