Leer en inglés

Compartir a través de


ListView.SelectedIndexChanged Evento

Definición

Se produce cuando cambia la colección SelectedIndices.

C#
public event EventHandler SelectedIndexChanged;
C#
public event EventHandler? SelectedIndexChanged;

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la propiedad, SelectedIndexChanged el SelectedItems evento, HeaderStyle los miembros y la ListView.SelectedListViewItemCollection clase . Para ejecutar este ejemplo, pegue el código siguiente en un formulario que contenga un ListView objeto denominado ListView1 y un TextBox denominado TextBox1. Llame al InitializeListView método desde el constructor o Load método del formulario. En este ejemplo se requiere que el controlador de eventos esté asociado correctamente al SelectedIndexChanged evento.

C#
  // This method adds two columns to the ListView, setting the Text 
  // and TextAlign, and Width properties of each ColumnHeader.  The 
  // HeaderStyle property is set to NonClickable since the ColumnClick 
  // event is not handled.  Finally the method adds ListViewItems and 
  // SubItems to each column.
  private void InitializeListView()
  {
      this.ListView1 = new System.Windows.Forms.ListView();
      this.ListView1.BackColor = System.Drawing.SystemColors.Control;
      this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
      this.ListView1.Location = new System.Drawing.Point(0, 0);
      this.ListView1.Name = "ListView1";
      this.ListView1.Size = new System.Drawing.Size(292, 130);
      this.ListView1.TabIndex = 0;
      this.ListView1.View = System.Windows.Forms.View.Details;
      this.ListView1.MultiSelect = true;
      this.ListView1.HideSelection = false;
      this.ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
      
      ColumnHeader columnHeader1 = new ColumnHeader();
      columnHeader1.Text = "Breakfast Item";
      columnHeader1.TextAlign = HorizontalAlignment.Left;
      columnHeader1.Width = 146;

      ColumnHeader columnHeader2 = new ColumnHeader();
      columnHeader2.Text = "Price Each";
      columnHeader2.TextAlign = HorizontalAlignment.Center;
      columnHeader2.Width = 142;

      this.ListView1.Columns.Add(columnHeader1);
      this.ListView1.Columns.Add(columnHeader2);

      string[] foodList = new string[]{"Juice", "Coffee", 
          "Cereal & Milk", "Fruit Plate", "Toast & Jelly", 
          "Bagel & Cream Cheese"};
      string[] foodPrice = new string[]{"1.09", "1.09", "2.19", 
          "2.49", "1.49", "1.49"};
      
      for(int count=0; count < foodList.Length; count++)
      {
          ListViewItem listItem = new ListViewItem(foodList[count]);
          listItem.SubItems.Add(foodPrice[count]);
          ListView1.Items.Add(listItem);
      }
      this.Controls.Add(ListView1);
  }
C#
// Uses the SelectedItems property to retrieve and tally the price 
// of the selected menu items.
private void ListView1_SelectedIndexChanged_UsingItems(
    object sender, System.EventArgs e)
{

    ListView.SelectedListViewItemCollection breakfast = 
        this.ListView1.SelectedItems;
    
    double price = 0.0;
    foreach ( ListViewItem item in breakfast )
    {
        price += Double.Parse(item.SubItems[1].Text);
    }

    // Output the price to TextBox1.
    TextBox1.Text = price.ToString();
}

Comentarios

La SelectedIndices colección cambia cada vez que cambia la Selected propiedad de .ListViewItem El cambio de propiedad puede producirse mediante programación o cuando el usuario selecciona un elemento o borra la selección de un elemento. Cuando el usuario selecciona un elemento sin presionar CTRL para realizar una selección múltiple, el control borra primero la selección anterior. En este caso, este evento se produce una vez para cada elemento que se seleccionó anteriormente y una vez para el elemento recién seleccionado.

Para determinar qué elementos se seleccionan en el ListView control, use la SelectedItems propiedad para tener acceso ListView.SelectedListViewItemCollectiona . Puede crear un controlador de eventos para que este evento realice tareas siempre que haya un cambio en los elementos seleccionados del ListView control.

Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también