C#のコンボボックスでアイテムからインデックスを取得する方法をご紹介します。
条件
- Visual Studio 2017
前提
以下のようなコンボボックスがあるものとします。
プロパティで、コンボボックスのコレクションに4つアイテムを設定しておきます。
コンボボックスからインデックスの取得
以下のようにすることで、コンボボックスからアイテム指定でインデックスを取得することが出来ます。
int index = comboBox1.Items.IndexOf("アイテム名");
サンプルソース
以下では、コンボボックスから「狸」のインデックスを取得して、初期選択状態にしています。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace sample1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitializeCombobox(); // コンボボックスを初期化
}
/**
* コンボボックスを初期化
* */
private void InitializeCombobox()
{
int index = comboBox1.Items.IndexOf("狸"); // 「狸」のインデックスを取得する。
comboBox1.SelectedIndex = index; // 「狸」を指定状態にする。
}
}
}
実行結果
アプリ起動時に、「狸」が選択された状態で表示されます。
ちなみに、コンボボックスのプロパティで、DropDownStyleを「DropDownList」にすると、入力を受け付けないドロップダウンリストになります。

