ListBox.SelectedIndexCollection Classe

Definição

Representa a coleção que contém os índices para os itens selecionados em um ListBox.

public: ref class ListBox::SelectedIndexCollection : System::Collections::IList
public class ListBox.SelectedIndexCollection : System.Collections.IList
type ListBox.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListBox.SelectedIndexCollection
Implements IList
Herança
ListBox.SelectedIndexCollection
Implementações

Exemplos

O exemplo 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 evitar uma pesquisa recursiva. Depois que os itens são encontrados no ListBox, 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

A ListBox.SelectedIndexCollection classe armazena os índices para os itens selecionados no ListBox. Os índices armazenados no ListBox.SelectedIndexCollection índice são posições de índice dentro da ListBox.ObjectCollection classe. A ListBox.ObjectCollection classe armazena todos os itens exibidos no ListBox.

A tabela a seguir é um exemplo de como os ListBox.ObjectCollection itens são armazenados, bem como seus estados de ListBox seleção em um exemplo ListBox.

Índice Item Estado de seleção na ListBox
0 object1 Não selecionado
1 object2 Selecionado
2 object3 Não selecionado
3 object4 Selecionado
4 object5 Selecionada

Com base no ListBox.ObjectCollection exemplo na tabela anterior, a tabela a seguir demonstra como ela ListBox.SelectedIndexCollection seria exibida.

Índice Índice do item selecionado em ObjectCollection
0 1
1 3
2 4

Você pode usar as propriedades e os métodos dessa classe para executar uma variedade de tarefas com a coleção. O Contains método permite que você determine se uma posição de índice da ListBox.ObjectCollection classe é um membro dos índices selecionados armazenados no ListBox.SelectedIndexCollection. Depois de saber que o item está localizado dentro da coleção, você pode usar o IndexOf método para determinar onde uma posição de índice específica dentro do ListBox.ObjectCollection para o ListBox é armazenado.

Construtores

ListBox.SelectedIndexCollection(ListBox)

Inicializa uma nova instância da classe ListBox.SelectedIndexCollection.

Propriedades

Count

Obtém o número de itens na coleção.

IsReadOnly

Obtém um valor que indica se a coleção é somente leitura.

Item[Int32]

Obtém o valor do índice no índice especificado nesta coleção.

Métodos

Add(Int32)

Adiciona o ListBox no local de índice especificado.

Clear()

Remove todos os controles da coleção.

Contains(Int32)

Determina se o índice especificado está localizado dentro da coleção.

CopyTo(Array, Int32)

Copia toda a coleção em uma matriz existente de um local especificado na matriz.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um enumerador a ser usado para iterar pela coleção de índices selecionada.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(Int32)

Retorna o índice dentro do ListBox.SelectedIndexCollection do índice especificado do ListBox.ObjectCollection do ListBox.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(Int32)

Remove o controle especificado da coleção.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.IsSynchronized

Para obter uma descrição desse membro, confira IsSynchronized.

ICollection.SyncRoot

Para obter uma descrição desse membro, confira SyncRoot.

IList.Add(Object)

Para obter uma descrição desse membro, confira Add(Object).

IList.Clear()

Para obter uma descrição desse membro, confira Clear().

IList.Contains(Object)

Para obter uma descrição desse membro, confira Contains(Object).

IList.IndexOf(Object)

Para obter uma descrição desse membro, confira IndexOf(Object).

IList.Insert(Int32, Object)

Para obter uma descrição desse membro, confira Insert(Int32, Object).

IList.IsFixedSize

Para obter uma descrição desse membro, confira IsFixedSize.

IList.Item[Int32]

Para obter uma descrição desse membro, confira Item[Int32].

IList.Remove(Object)

Para obter uma descrição desse membro, confira Remove(Object).

IList.RemoveAt(Int32)

Para obter uma descrição desse membro, confira RemoveAt(Int32).

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a