次の方法で共有


ListBox.SelectedIndex プロパティ

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

Overrides Public Property SelectedIndex As Integer
[C#]
public override int SelectedIndex {get; set;}
[C++]
public: __property int get_SelectedIndex();public: __property void set_SelectedIndex(int);
[JScript]
public override function get SelectedIndex() : int;public override function set SelectedIndex(int);

プロパティ値

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

解説

標準の ListBox の場合は、このプロパティを使用して、 ListBox 内で選択されている項目のインデックスを確認できます。 ListBoxSelectionMode プロパティが SelectionMode.MultiSimple または SelectionMode.MultiExtended のいずれかに設定され (複数選択の ListBox が指定されている)、リストで複数の項目が選択されている場合、このプロパティは、選択されている任意の項目のインデックスを返すことができます。

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

使用例

[Visual Basic, C#, C++] SelectedIndex プロパティと TopIndex プロパティを使用し、現在選択されている項目を ListBox の表示領域内の項目リストの先頭に移動する方法を次の例に示します。さらに、 System.Windows.Forms.ListBox.ObjectCollection クラスの RemoveAt メソッドを使用して項目を削除する方法、 ClearSelected メソッドを使用してすべての項目の選択を解除する方法についても示します。このコードは最初に、 ListBox で現在選択されている項目をリストの先頭に移動します。このコードは次に、現在選択されている項目より前にある項目をすべて削除し、 ListBox 内の選択をすべて解除します。この例は、項目を含んでいる ListBox がフォームに追加されていて、いずれかの項目が ListBox で現在選択されていることを前提にしています。

 
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 'RemoveTopItems

[C#] 
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();
}

[C++] 
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();
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

ListBox クラス | ListBox メンバ | System.Windows.Forms 名前空間 | SelectedIndices | SelectedItems | SelectedItem