リストボックスの選択項目のインデックスを取得
今回は、リストボックスで選択されている項目のインデックス番号を取得する方法をご紹介します。
なお、選択されている「項目名」を取得する場合は、以下の記事をご参照ください。
1つの項目のインデックス番号を取得する
リストボックスはデフォルトの設定では1つの項目しか選択することができないようになっています。
まずはその状態での選択項目のインデックス番号を取得する方法をご紹介します。
リストボックスで選択されている1つの項目のインデックス番号を取得するには、リストボックスのSelectedIndexプロパティを使用します。
listBox名.SelectedIndex
それではサンプルを見てみましょう。
以下は、button1を押すと、listBox1で選択されている項目のインデックス番号を取得してコンソールに出力する例です。
1 2 3 4 5 6 7 8 9 10 |
private void button1_Click(object sender, EventArgs e) { object oItem; //listBox1で選択されている項目のインデックス番号を取得 oItem = listBox1.SelectedIndex; //コンソールへ出力 Console.WriteLine(oItem); } |
上記を実行すると、button1を押した際にlistBox1で選択していた項目のインデックス番号がコンソールに表示されます。
複数の項目のインデックス番号を取得する
リストボックスでは、設定によっては複数の項目を同時に指定できる場合があります。
設定方法については以下の記事をご参照ください。
複数項目が選択されている場合に、選択されているすべての項目のインデックス番号を取得するには、リストボックスのSelectedIndicesプロパティを使用します。
listBox名.SelectedIndices
それではサンプルを見てみましょう。
以下は、button1を押すと、listBox1で選択されているすべての項目のインデックス番号を取得してコンソールに出力する例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
private void button1_Click(object sender, EventArgs e) { object oItems = null; //listBox1で選択されているすべての項目のインデックス番号を取得 foreach (object oItem in listBox1.SelectedIndices) { oItems += oItem + "\r\n"; } //コンソールへ出力 Console.WriteLine(oItems); } |
上記を実行すると、button1を押した際にlistBox1で選択していた、すべての項目のインデックス番号がコンソールに表示されます。
SelectedIndicesプロパティには、選択されているすべての項目のインデックス番号が格納されており、それをforeachで項目数分1つずつ取り出しています。
foreachについては、以下の記事をご参照ください。
以上が、リストボックスで選択されている項目のインデックス番号を取得する「SelectedIndex」「SelectedIndices」プロパティの使い方です。
ぜひ参考にしてみてください。