ListBox.SelectedIndices (Propiedad)

Actualización: noviembre 2007

Obtiene una colección que contiene los índices de base cero de todos los elementos actualmente seleccionados en el control ListBox.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public ListBox..::.SelectedIndexCollection SelectedIndices { get; }
/** @property */
/** @attribute BrowsableAttribute(false) */
public ListBox..::.SelectedIndexCollection get_SelectedIndices()

public function get SelectedIndices () : ListBox..::.SelectedIndexCollection

Valor de propiedad

Tipo: System.Windows.Forms.ListBox.SelectedIndexCollection
ListBox.SelectedIndexCollection que contiene los índices de los elementos actualmente seleccionados en el control. Si no hay ningún elemento seleccionado, se devuelve una colección ListBox.SelectedIndexCollection vacía.

En el caso de un control ListBox de selección múltiple, esta propiedad devuelve una colección que contiene los índices de todos los elementos seleccionados en ListBox. En el caso de un control ListBox de selección simple, esta propiedad devuelve una colección de un solo elemento que contiene el índice del único elemento seleccionado en el control ListBox. Para obtener más información sobre la forma de manipular los elementos de la colección, vea ListBox.SelectedIndexCollection.

La clase ListBox ofrece varias maneras de hacer referencia a los elementos seleccionados. En lugar de utilizar la propiedad SelectedIndices para obtener la posición de índice del elemento actualmente seleccionado en un control ListBox de selección simple, se puede utilizar la propiedad SelectedIndex. Si desea obtener el elemento actualmente seleccionado en el control ListBox, en lugar de su posición de índice, utilice la propiedad SelectedItem. Además, puede utilizar la propiedad SelectedItems si desea obtener todos los elementos seleccionados en un control ListBox de selección múltiple.

En el siguiente ejemplo de código se muestra la forma de utilizar el método FindString para buscar todas las instancias del texto de la búsqueda en los elementos del ListBox. En el ejemplo se utiliza la versión del método FindString que permite especificar un índice de búsqueda inicial a partir del cual se puede realizar una búsqueda continua de todos los elementos del control ListBox. En el ejemplo también se muestra la forma de determinar si el método FindString está iniciando la búsqueda desde el principio de la lista porque ya ha alcanzado el final de la lista de elementos, evitando así que se realicen búsquedas recursivas. Si se encuentran elementos en ListBox, se seleccionan con el método 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


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

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft