Compartilhar via


ListBox.SelectedIndices Propriedade

Definição

Obtém uma coleção que contém os índices com base em zero de todos os itens selecionados no momento no ListBox.

public:
 property System::Windows::Forms::ListBox::SelectedIndexCollection ^ SelectedIndices { System::Windows::Forms::ListBox::SelectedIndexCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListBox.SelectedIndexCollection SelectedIndices { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndices : System.Windows.Forms.ListBox.SelectedIndexCollection
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection

Valor da propriedade

ListBox.SelectedIndexCollection

Um ListBox.SelectedIndexCollection que contém os índices dos itens selecionados no momento no controle. Se nenhum item estiver selecionado no momento, um ListBox.SelectedIndexCollection vazio será retornado.

Atributos

Exemplos

O exemplo de código a seguir demonstra como usar o FindString método para pesquisar todas as instâncias do texto de pesquisa nos itens do ListBox. O exemplo usa a versão do FindString método que permite que você especifique um índice de pesquisa inicial do qual fazer uma pesquisa contínua de todos os itens no ListBox. O exemplo também demonstra como determinar quando o FindString método começa a pesquisar na parte superior da lista depois de chegar à parte inferior da lista de itens para impedir uma pesquisa recursiva. Depois que os itens são encontrados no ListBoxmétodo, eles são selecionados usando o SetSelected método.

private:
   void FindAllOfMyString( String^ searchString )
   {
      // Set the SelectionMode property of the ListBox to select multiple items.
      listBox1->SelectionMode = SelectionMode::MultiExtended;

      // Set our intial index variable to -1.
      int x = -1;

      // If the search string is empty exit.
      if ( searchString->Length != 0 )
      {
         // Loop through and find each item that matches the search string.
         do
         {
            // Retrieve the item based on the previous index found. Starts with -1 which searches start.
            x = listBox1->FindString( searchString, x );

            // If no item is found that matches exit.
            if ( x != -1 )
            {
               // Since the FindString loops infinitely, determine if we found first item again and exit.
               if ( listBox1->SelectedIndices->Count > 0 )
               {
                  if ( x == listBox1->SelectedIndices[ 0 ] )
                                    return;
               }

               // Select the item in the ListBox once it is found.
               listBox1->SetSelected( x, true );
            }
         }
         while ( x != -1 );
      }
   }
private void FindAllOfMyString(string searchString)
{
   // Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended;
   
   // Set our intial index variable to -1.
   int x =-1;
   // If the search string is empty exit.
   if (searchString.Length != 0)
   {
      // Loop through and find each item that matches the search string.
      do
      {
         // Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x);
         // If no item is found that matches exit.
         if (x != -1)
         {
            // Since the FindString loops infinitely, determine if we found first item again and exit.
            if (listBox1.SelectedIndices.Count > 0)
            {
               if(x == listBox1.SelectedIndices[0])
                  return;
            }
            // Select the item in the ListBox once it is found.
            listBox1.SetSelected(x,true);
         }
      }while(x != -1);
   }
}
Private Sub FindAllOfMyString(ByVal searchString As String)
   ' Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended

   ' Set our intial index variable to -1.
   Dim x As Integer = -1
   ' If the search string is empty exit.
   If searchString.Length <> 0 Then
      ' Loop through and find each item that matches the search string.
      Do
         ' Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x)
         ' If no item is found that matches exit.
         If x <> -1 Then
            ' Since the FindString loops infinitely, determine if we found first item again and exit.
            If ListBox1.SelectedIndices.Count > 0 Then
               If x = ListBox1.SelectedIndices(0) Then
                  Return
               End If
            End If
            ' Select the item in the ListBox once it is found.
            ListBox1.SetSelected(x, True)
         End If
      Loop While x <> -1
   End If
End Sub

Comentários

Para uma seleção ListBoxmúltipla, essa propriedade retorna uma coleção que contém os índices para todos os itens selecionados no ListBox. Para uma seleção ListBoxúnica, essa propriedade retorna uma coleção que contém um único elemento que contém o índice do único item selecionado no ListBox. Para obter mais informações sobre como manipular os itens da coleção, consulte ListBox.SelectedIndexCollection.

A ListBox classe fornece várias maneiras de referenciar itens selecionados. Em vez de usar a SelectedIndices propriedade para obter a posição de índice do item atualmente selecionado em uma seleção ListBoxúnica, você pode usar a SelectedIndex propriedade. Se você quiser obter o item que está selecionado no momento, ListBoxem vez da posição de índice do item, use a SelectedItem propriedade. Além disso, você pode usar a SelectedItems propriedade se quiser obter todos os itens selecionados em uma seleção ListBoxmúltipla.

Aplica-se a

Confira também