Exporter (0) Imprimer
Développer tout

ListBox.SelectedIndexCollection, classe

Mise à jour : novembre 2007

Représente la collection contenant les index des éléments sélectionnés dans ListBox.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public class SelectedIndexCollection : IList, 
	ICollection, IEnumerable
public class SelectedIndexCollection implements IList, 
	ICollection, IEnumerable
public class SelectedIndexCollection implements IList, ICollection, IEnumerable

La classe ListBox.SelectedIndexCollection stocke les index des éléments sélectionnés dans ListBox. Les index stockés dans ListBox.SelectedIndexCollection sont des positions d'index dans la classe ListBox.ObjectCollection. La classe ListBox.ObjectCollection stocke tous les éléments affichés dans ListBox.

Le tableau suivant décrit comment ListBox.ObjectCollection stocke les éléments de ListBox ainsi que leur état de sélection dans un exemple de ListBox.

Index

Élément

État de sélection dans l'objet ListBox

0

objet1

Non sélectionné

1

objet2

Sélectionné

2

objet3

Non sélectionné

3

objet4

Sélectionné

4

objet5

Sélectionné

À partir de l'exemple de ListBox.ObjectCollection décrit dans le tableau précédent, le tableau suivant illustre l'affichage de ListBox.SelectedIndexCollection.

Index

Index de l'élément sélectionné dans ObjectCollection

0

1

1

3

2

4

Vous pouvez utiliser les propriétés et méthodes de cette classe pour effectuer différentes tâches avec la collection. La méthode Contains permet de déterminer si une position d'index de la classe ListBox.ObjectCollection est un membre des index sélectionnés stockés dans ListBox.SelectedIndexCollection. Une fois que vous savez que l'élément réside dans la collection, vous pouvez utiliser la méthode IndexOf pour déterminer si une position d'index spécifique dans ListBox.ObjectCollection pour le ListBox est stockée.

L'exemple suivant illustre l'utilisation de la méthode FindString pour rechercher toutes les occurrences du texte dans les éléments de ListBox. L'exemple utilise la version de la méthode FindString qui vous permet de spécifier un index de recherche de départ à partir duquel effectuer une recherche continue de tous les éléments dans ListBox. L'exemple illustre également comment déterminer à quel moment la méthode FindString commence la recherche à partir du début de la liste une fois parvenue à la fin de la liste des éléments, afin d'éviter une recherche récursive. Dès lors que des éléments ont été trouvés dans ListBox, ils sont sélectionnés à l'aide de la méthode SetSelected.

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.set_SelectionMode(SelectionMode.MultiExtended);
        // Set our intial index variable to -1.
        int x = -1;

        // If the search string is empty exit.
        if (searchString.get_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.get_SelectedIndices().get_Count() > 0) {
                        if (x == listBox1.get_SelectedIndices().get_Item(0)) {
                            return;
                        }
                    }
                    // Select the item in the ListBox once it is found.
                    listBox1.SetSelected(x, true);
                }
            } while (x != -1);
        }
    } //FindAllOfMyString 
} //Form1


System.Object
  System.Windows.Forms.ListBox.SelectedIndexCollection

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft