ListBox.SelectedIndexCollection Classe

Definizione

Rappresenta l'insieme contenente gli indici per gli elementi selezionati in un oggetto 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 utilizzare il FindString metodo per cercare tutte le istanze del testo di ricerca negli elementi dell'oggetto ListBox. Nell'esempio viene utilizzata la versione del FindString metodo che consente di specificare un indice di ricerca iniziale da cui eseguire una ricerca continua di tutti gli elementi in ListBox. Nell'esempio viene inoltre illustrato come determinare quando il metodo inizia la FindString ricerca dalla parte superiore dell'elenco dopo che raggiunge la fine dell'elenco di elementi per impedire una ricerca ricorsiva. Dopo aver trovato gli elementi in 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 ListBox.ObjectCollection gli elementi di e i relativi stati di selezione all'interno di ListBox un esempio ListBox.

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

In base all'esempio ListBox.ObjectCollection nella tabella precedente, nella tabella seguente viene illustrato come verrebbe visualizzato .ListBox.SelectedIndexCollection

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

È possibile utilizzare le proprietà e i metodi di questa classe per eseguire un'ampia gamma di 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 rilevato che l'elemento si trova all'interno della raccolta, è possibile utilizzare il IndexOf metodo per determinare dove viene archiviata una posizione di indice specifica all'interno di ListBox.ObjectCollectionListBox per .

Costruttori

Nome Descrizione
ListBox.SelectedIndexCollection(ListBox)

Inizializza una nuova istanza della classe ListBox.SelectedIndexCollection.

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi nell'insieme.

IsReadOnly

Ottiene un valore che indica se l'insieme è di sola lettura.

Item[Int32]

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

Metodi

Nome Descrizione
Add(Int32)

Aggiunge in ListBox corrispondenza della posizione di indice specificata.

Clear()

Rimuove tutti i controlli dalla raccolta.

Contains(Int32)

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

CopyTo(Array, Int32)

Copia l'intera raccolta in una matrice esistente in una posizione specificata all'interno della matrice.

Equals(Object)

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

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore da utilizzare per scorrere l'insieme di indici selezionati.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(Int32)

Restituisce l'indice all'interno ListBox.SelectedIndexCollection di dell'indice specificato dall'oggetto ListBox.ObjectCollectionListBoxdi .

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Remove(Int32)

Rimuove il controllo specificato dalla raccolta.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
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

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

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

Si applica a