WindowsForm

[C#] ListBoxの選択された要素を取得する(複数選択可の場合)

ListBoxで複数選択された要素を取得する方法です。

選択した要素の値を取得するパターンと、インデックスを取得するパターンの2つです。

サンプル

以下の状態を例にします。
ListBox(複数選択)

リストボックス名は、listBox1 とします。

例1)選択された複数要素の値を取得する


using System.Windows.Forms;
using System.Diagnostics;

// 選択された複数要素の値一覧を取得する
var items = listBox1.SelectedItems;

// 値をデバッグに出力する
foreach(string str in items)
{
  Debug.WriteLine(str);
}

結果

"東京"
"大阪"

例2)選択された複数要素のインデックスを取得する


using System.Windows.Forms;
using System.Diagnostics;

// 選択された複数要素のインデックス一覧を取得する
var items = listBox1.SelectedIndices;

// 値をデバッグに出力する
foreach(int idx in items)
{
  Debug.WriteLine(idx);
}

結果

1
3

備考

  • .SelectedItems は選択した要素名のリストを取得します。
  • .SelectedIndices は選択したインデックスのリストを取得します。

関連記事

-WindowsForm
-