ListBox.SelectedIndexCollection Classe

Definizione

Rappresenta la raccolta che contiene gli indici per gli elementi selezionati in un controllo 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
Ereditarietà
ListBox.SelectedIndexCollection
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come usare il FindString metodo per cercare tutte le istanze del testo di ricerca negli elementi di ListBox. Nell'esempio FindString viene usata la versione del metodo che consente di specificare un indice di ricerca iniziale da cui eseguire una ricerca continua di tutti gli elementi nell'oggetto ListBox. L'esempio illustra anche come determinare quando il FindString metodo inizia la ricerca dalla parte superiore dell'elenco dopo aver raggiunto la parte inferiore dell'elenco di elementi per impedire una ricerca ricorsiva. Dopo aver trovato elementi nell'oggetto ListBox, vengono selezionati usando il SetSelected metodo .

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

Commenti

La ListBox.SelectedIndexCollection classe archivia gli indici agli elementi selezionati in ListBox. Gli indici archiviati in ListBox.SelectedIndexCollection sono posizioni di indice all'interno della ListBox.ObjectCollection classe. La ListBox.ObjectCollection classe archivia tutti gli elementi visualizzati in ListBox.

La tabella seguente è un esempio di come archivia gli elementi dell'oggetto ListBox.ObjectCollectionListBox e i relativi stati di selezione all'interno di un esempio ListBox.

Indice Elemento Stato di selezione all'interno di ListBox
0 object1 Deselezionato
1 object2 Selezionato
2 object3 Deselezionato
3 object4 Selezionato
4 object5 Opzione selezionata

In base all'esempio nella tabella precedente, la ListBox.ObjectCollection tabella seguente illustra la modalità di visualizzazione dell'oggetto ListBox.SelectedIndexCollection .

Indice Indice dell'elemento selezionato in ObjectCollection
0 1
1 3
2 4

È possibile usare le proprietà e i metodi di questa classe per eseguire diverse attività con la raccolta. Il Contains metodo consente di determinare se una posizione di indice dalla ListBox.ObjectCollection classe è un membro degli indici selezionati archiviati in ListBox.SelectedIndexCollection. Dopo aver appreso che l'elemento si trova all'interno della raccolta, è possibile usare il IndexOf metodo per determinare dove è archiviato un indice specifico all'interno dell'oggetto ListBox.ObjectCollectionListBox .

Costruttori

ListBox.SelectedIndexCollection(ListBox)

Inizializza una nuova istanza della classe ListBox.SelectedIndexCollection.

Proprietà

Count

Ottiene il numero di elementi nella raccolta.

IsReadOnly

Ottiene un valore che indica se la raccolta è di sola lettura.

Item[Int32]

Ottiene il valore dell'indice in corrispondenza dell'indice specificato all'interno dell'insieme.

Metodi

Add(Int32)

Aggiunge l'oggetto ListBox nella posizione di indice specificata.

Clear()

Rimuove tutti i controlli dall'insieme.

Contains(Int32)

Determina se l'indice specificato si trova all'interno dell'insieme.

CopyTo(Array, Int32)

Copia l'intero insieme in una posizione specifica all'interno di una matrice esistente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore da utilizzare per scorrere l'insieme degli indici selezionato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(Int32)

Restituisce l'indice all'interno dell'insieme ListBox.SelectedIndexCollection dell'indice specificato dalla classe ListBox.ObjectCollection del controllo ListBox.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(Int32)

Rimuove il controllo specificato dall'insieme.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.IsSynchronized

Per una descrizione di questo membro, vedere IsSynchronized.

ICollection.SyncRoot

Per una descrizione di questo membro, vedere SyncRoot.

IList.Add(Object)

Per una descrizione di questo membro, vedere Add(Object).

IList.Clear()

Per una descrizione di questo membro, vedere Clear().

IList.Contains(Object)

Per una descrizione di questo membro, vedere Contains(Object).

IList.IndexOf(Object)

Per una descrizione di questo membro, vedere IndexOf(Object).

IList.Insert(Int32, Object)

Per una descrizione di questo membro, vedere Insert(Int32, Object).

IList.IsFixedSize

Per una descrizione di questo membro, vedere IsFixedSize.

IList.Item[Int32]

Per una descrizione di questo membro, vedere Item[Int32].

IList.Remove(Object)

Per una descrizione di questo membro, vedere Remove(Object).

IList.RemoveAt(Int32)

Per una descrizione di questo membro, vedere RemoveAt(Int32).

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a