[C#][Windows Formsアプリ][ComboBox] SelectedIndexプロパティで現在選択されている項目の位置を管理する

スポンサーリンク

はじめに

SelectedIndex プロパティは、ComboBox内で現在選択されている項目の「位置(インデックス番号)」を示します。
インデックス番号は 0 から始まり、選択がない場合は -1 が返されます。

 

SelectedIndexプロパティとは?

ComboBox内の選択状態を数値で管理するプロパティです。
項目を選択したり、プログラムで選択を変更したりする際に利用します。

💡 ポイント:
インデックスは「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:

コメント

タイトルとURLをコピーしました