ListView.SelectedIndexChanged Zdarzenie

Definicja

Występuje, gdy SelectedIndices kolekcja ulegnie zmianie.

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

Typ zdarzenia

Przykłady

W poniższym przykładzie kodu pokazano, jak używać SelectedItems właściwości, SelectedIndexChanged zdarzeń, HeaderStyle składowych i ListView.SelectedListViewItemCollection klasy. Aby uruchomić ten przykład, wklej następujący kod w formularzu zawierającym ListView obiekt o nazwie ListView1 i TextBox nazwie TextBox1. Wywołaj metodę InitializeListView z konstruktora lub Load metody formularza. W tym przykładzie jest wymagane, aby program obsługi zdarzeń był poprawnie skojarzony ze zdarzeniem SelectedIndexChanged

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();
}

Uwagi

Kolekcja SelectedIndices zmienia się za każdym razem, Selected gdy właściwość ListViewItem zmienia się. Zmiana właściwości może wystąpić programowo lub gdy użytkownik wybierze element lub wyczyści wybór elementu. Gdy użytkownik wybierze element bez naciśnięcia klawisza CTRL, aby wykonać wybór wielokrotny, kontrolka najpierw czyści poprzedni wybór. W takim przypadku to zdarzenie występuje jeden raz dla każdego elementu, który został wcześniej wybrany i jeden raz dla nowo wybranego elementu.

Aby określić, które elementy są zaznaczone w kontrolce ListView , użyj SelectedItems właściwości , aby uzyskać dostęp do elementu ListView.SelectedListViewItemCollection. Można utworzyć program obsługi zdarzeń dla tego zdarzenia, aby wykonywać zadania za każdym razem, gdy nastąpi zmiana wybranych elementów w kontrolce ListView .

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Produkt Wersje
.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

Zobacz też