コントロール

[C#] リストボックスで選択されている項目のインデックス番号を取得する(SelectedIndex)

リストボックスの選択項目のインデックスを取得

今回は、リストボックスで選択されている項目のインデックス番号を取得する方法をご紹介します。

なお、選択されている「項目名」を取得する場合は、以下の記事をご参照ください。

[C#] リストボックスで選択されている項目を取得する(SelectedItem)リストボックスの選択項目を取得 今回は、リストボックスで選択されている項目を取得する方法をご紹介します。 1つの項目を取得する ...

1つの項目のインデックス番号を取得する

リストボックスはデフォルトの設定では1つの項目しか選択することができないようになっています。

まずはその状態での選択項目のインデックス番号を取得する方法をご紹介します。

リストボックスで選択されている1つの項目のインデックス番号を取得するには、リストボックスのSelectedIndexプロパティを使用します。

listBox名.SelectedIndex

それではサンプルを見てみましょう。

以下は、button1を押すと、listBox1で選択されている項目のインデックス番号を取得してコンソールに出力する例です。

上記を実行すると、button1を押した際にlistBox1で選択していた項目のインデックス番号がコンソールに表示されます。

 

複数の項目のインデックス番号を取得する

リストボックスでは、設定によっては複数の項目を同時に指定できる場合があります。

設定方法については以下の記事をご参照ください。

[C#] リストボックスの項目を複数選択できるようにする(SelectionMode)リストボックスの項目の複数選択 今回は、リストボックスの項目を複数選択できるように設定する方法をご紹介します。 複数選択を可能に...

複数項目が選択されている場合に、選択されているすべての項目のインデックス番号を取得するには、リストボックスのSelectedIndicesプロパティを使用します。

listBox名.SelectedIndices

それではサンプルを見てみましょう。

以下は、button1を押すと、listBox1で選択されているすべての項目のインデックス番号を取得してコンソールに出力する例です。

上記を実行すると、button1を押した際にlistBox1で選択していた、すべての項目のインデックス番号がコンソールに表示されます。

SelectedIndicesプロパティには、選択されているすべての項目のインデックス番号が格納されており、それをforeachで項目数分1つずつ取り出しています。

foreachについては、以下の記事をご参照ください。

[C#] 制御構文 配列の要素数繰り返し参照(foreach)ループ処理(コレクション) 配列の要素数分繰り返す foreach文は、配列の要素数分、配列の値を1つずつ参照し繰り返し処理を行うこ...

 
 
以上が、リストボックスで選択されている項目のインデックス番号を取得する「SelectedIndex」「SelectedIndices」プロパティの使い方です。
ぜひ参考にしてみてください。