다음을 통해 공유


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

속성 값

Int32

현재 선택된 항목의 0부터 시작하는 인덱스입니다. 선택된 항목이 없으면 -1 값이 반환됩니다.

특성

예외

할당된 값이 -1보다 작거나 항목 수보다 크거나 같은 경우

SelectionMode 속성은 None로 설정됩니다.

예제

다음 코드 예제에서는 속성과 함께 TopIndex 속성을 사용하여 SelectedIndex 현재 선택한 항목을 표시 영역ListBox의 항목 목록 맨 위로 이동하는 방법을 보여 줍니다. 이 예제에서는 클래스의 System.Windows.Forms.ListBox.ObjectCollection 메서드를 사용하여 항목을 제거하는 방법과 메서드를 사용하여 RemoveAt 모든 항목 선택을 지우는 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선택된 항목의 인덱스 여부를 확인할 수 있습니다. 속성 ListBoxSelectionMode 목록에서 여러 항목 중 하나 SelectionMode.MultiSimple 또는 SelectionMode.MultiExtended (다중 선택 항목을 ListBox나타낸)로 설정되어 있고 여러 항목이 선택된 경우 이 속성은 선택한 항목에 인덱스가 반환될 수 있습니다.

다중 선택 ListBox영역에서 선택한 모든 항목의 인덱스가 포함된 컬렉션을 검색하려면 이 속성을 사용합니다 SelectedIndices . 현재 ListBox선택한 항목을 가져오려면 속성을 사용합니다 SelectedItem . 또한 이 속성을 사용하여 SelectedItems 다중 선택 ListBox영역에서 선택한 모든 항목을 가져올 수 있습니다.

적용 대상

추가 정보