ListBox.SelectedIndex プロパティ

定義

ListBox 内で現在選択されている項目の 0 から始まるインデックス番号を取得または設定します。

public:
 virtual property int SelectedIndex { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public override int SelectedIndex { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndex : int with get, set
Public Overrides Property SelectedIndex As Integer

プロパティ値

現在選択されている項目の 0 から始まるインデックス番号。 項目が選択されていない場合は、値 -1 が返されます。

属性

例外

代入された値が -1 未満か、項目数以上です。

SelectionMode プロパティが None に設定されている。

次のコード例では、 プロパティと 共TopIndexに プロパティをSelectedIndex使用して、現在選択されている項目を の表示領域の項目リストの先頭に移動する方法をListBox示します。 この例では、 クラスの メソッドを使用して項目を RemoveAt 削除する方法と、 メソッド System.Windows.Forms.ListBox.ObjectCollection を使用して ClearSelected すべての項目の選択をクリアする方法をさらに示します。 コードは、最初に の ListBox 現在選択されている項目をリストの先頭に移動します。 次に、コードは、現在選択されている項目の前にあるすべての項目を削除し、 ListBox内のすべての選択をクリアします。 この例では、 ListBox 含むアイテムをフォームに追加し、 で ListBox項目が現在選択されている必要があります。

private:
   void RemoveTopItems()
   {
      // Determine if the currently selected item in the ListBox 
      // is the item displayed at the top in the ListBox.
      if ( listBox1->TopIndex != listBox1->SelectedIndex )

      // Make the currently selected item the top item in the ListBox.
      listBox1->TopIndex = listBox1->SelectedIndex;

      // Remove all items before the top item in the ListBox.
      for ( int x = (listBox1->SelectedIndex - 1); x >= 0; x-- )
      {
         listBox1->Items->RemoveAt( x );
      }

      // Clear all selections in the ListBox.
      listBox1->ClearSelected();
   }
private void RemoveTopItems()
{
   // Determine if the currently selected item in the ListBox 
   // is the item displayed at the top in the ListBox.
   if (listBox1.TopIndex != listBox1.SelectedIndex)
      // Make the currently selected item the top item in the ListBox.
      listBox1.TopIndex = listBox1.SelectedIndex;

   // Remove all items before the top item in the ListBox.
   for (int x = (listBox1.SelectedIndex -1); x >= 0; x--)
   {
      listBox1.Items.RemoveAt(x);
   }

   // Clear all selections in the ListBox.
   listBox1.ClearSelected();
}
Private Sub RemoveTopItems()
   ' Determine if the currently selected item in the ListBox 
   ' is the item displayed at the top in the ListBox.
   If listBox1.TopIndex <> listBox1.SelectedIndex Then
      ' Make the currently selected item the top item in the ListBox.
      listBox1.TopIndex = listBox1.SelectedIndex
   End If
   ' Remove all items before the top item in the ListBox.
   Dim x As Integer
   For x = listBox1.SelectedIndex - 1 To 0 Step -1
      listBox1.Items.RemoveAt(x)
   Next x

   ' Clear all selections in the ListBox.
   listBox1.ClearSelected()
End Sub

注釈

標準 ListBoxの の場合、このプロパティを使用して、 で選択されている項目のインデックスを ListBox決定できます。 の SelectionModeListBox プロパティが または SelectionMode.MultiExtended (複数選択ListBoxを示す) にSelectionMode.MultiSimple設定されていて、一覧で複数の項目が選択されている場合、このプロパティは選択した項目にインデックスを返すことができます。

複数選択 ListBox内のすべての選択項目のインデックスを含むコレクションを取得するには、 プロパティを SelectedIndices 使用します。 で ListBox現在選択されている項目を取得する場合は、 プロパティを SelectedItem 使用します。 さらに、 プロパティを SelectedItems 使用して、複数選択 ListBoxの 内のすべての選択項目を取得できます。

適用対象

こちらもご覧ください