Teilen über


ListView.SelectedIndexCollection Klasse

Definition

Stellt die Auflistung dar, die die Indizes für die aktivierten Elemente in einem ListView-Steuerelement enthält.

public: ref class ListView::SelectedIndexCollection : System::Collections::IList
public class ListView.SelectedIndexCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.SelectedIndexCollection : System.Collections.IList
type ListView.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListView.SelectedIndexCollection
Implements IList
Vererbung
ListView.SelectedIndexCollection
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die SelectedIndicesMember , SelectedIndexChangedund HeaderStyle und sowie die ListView.SelectedIndexCollection -Klasse verwendet werden. Fügen Sie zum Ausführen dieses Beispiels den folgenden Code in ein Formular ein, das ein ListView -Objekt mit dem Namen ListView1 und einen TextBox mit dem Namen TextBox1enthält. Rufen Sie die InitializeListView -Methode aus dem Konstruktor oder Load Ereignishandler des Formulars auf. In diesem Beispiel ist es erforderlich, dass der Ereignishandler dem SelectedIndexChanged Ereignis ordnungsgemäß zugeordnet ist.

// 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.
void InitializeListView()
{
   this->ListView1 = gcnew System::Windows::Forms::ListView;
   this->ListView1->BackColor = System::Drawing::SystemColors::Control;
   this->ListView1->Dock = System::Windows::Forms::DockStyle::Top;
   this->ListView1->Location = System::Drawing::Point( 0, 0 );
   this->ListView1->Name = "ListView1";
   this->ListView1->Size = 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 = gcnew ColumnHeader;
   columnHeader1->Text = "Breakfast Item";
   columnHeader1->TextAlign = HorizontalAlignment::Left;
   columnHeader1->Width = 146;
   ColumnHeader^ columnHeader2 = gcnew ColumnHeader;
   columnHeader2->Text = "Price Each";
   columnHeader2->TextAlign = HorizontalAlignment::Center;
   columnHeader2->Width = 142;
   this->ListView1->Columns->Add( columnHeader1 );
   this->ListView1->Columns->Add( columnHeader2 );
   array<String^>^foodList = {"Juice","Coffee","Cereal & Milk","Fruit Plate","Toast & Jelly","Bagel & Cream Cheese"};
   array<String^>^foodPrice = {"1.09","1.09","2.19","2.49","1.49","1.49"};
   for ( int count = 0; count < foodList->Length; count++ )
   {
      ListViewItem^ listItem = gcnew ListViewItem( foodList[ count ] );
      listItem->SubItems->Add( foodPrice[ count ] );
      ListView1->Items->Add( listItem );

   }
   this->Controls->Add( ListView1 );
}
  // 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);
  }
' 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 Sub InitializeListView()
    Me.ListView1 = New System.Windows.Forms.ListView
    Me.ListView1.BackColor = System.Drawing.SystemColors.Control
    Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
    Me.ListView1.Location = New System.Drawing.Point(0, 0)
    Me.ListView1.Name = "ListView1"
    Me.ListView1.Size = New System.Drawing.Size(292, 130)
    Me.ListView1.TabIndex = 0
    Me.ListView1.View = System.Windows.Forms.View.Details
    Me.ListView1.MultiSelect = True
    Me.ListView1.HideSelection = False
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
    Dim columnHeader1 As New ColumnHeader
    With columnHeader1
        .Text = "Breakfast Item"
        .TextAlign = HorizontalAlignment.Left
        .Width = 146
    End With
    Dim columnHeader2 As New ColumnHeader
    With columnHeader2
        .Text = "Price Each"
        .TextAlign = HorizontalAlignment.Center
        .Width = 142
    End With

    Me.ListView1.Columns.Add(columnHeader1)
    Me.ListView1.Columns.Add(columnHeader2)
    Dim foodList() As String = New String() {"Juice", "Coffee", _
        "Cereal & Milk", "Fruit Plate", "Toast & Jelly", _
        "Bagel & Cream Cheese"}
    Dim foodPrice() As String = New String() {"1.09", "1.09", _
        "2.19", "2.49", "1.49", "1.49"}
    Dim count As Integer
    For count = 0 To foodList.Length - 1
        Dim listItem As New ListViewItem(foodList(count))
        listItem.SubItems.Add(foodPrice(count))
        ListView1.Items.Add(listItem)
    Next
    Me.Controls.Add(Me.ListView1)
End Sub
// Uses the SelectedIndices property to retrieve and tally the  
// price of the selected menu items.
void ListView1_SelectedIndexChanged_UsingIndices( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   ListView::SelectedIndexCollection^ indexes = this->ListView1->SelectedIndices;
   double price = 0.0;
   System::Collections::IEnumerator^ myEnum1 = indexes->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      int index = safe_cast<int>(myEnum1->Current);
      price += Double::Parse( this->ListView1->Items[ index ]->SubItems[ 1 ]->Text );
   }

   
   // Output the price to TextBox1.
   TextBox1->Text = price.ToString();
}
// Uses the SelectedIndices property to retrieve and tally the  
// price of the selected menu items.
private void ListView1_SelectedIndexChanged_UsingIndices(
    object sender, System.EventArgs e)
{

    ListView.SelectedIndexCollection indexes = 
        this.ListView1.SelectedIndices;
    
    double price = 0.0;
    foreach ( int index in indexes )
    {
        price += Double.Parse(
            this.ListView1.Items[index].SubItems[1].Text);
    }

    // Output the price to TextBox1.
    TextBox1.Text =  price.ToString();
}
' Uses the SelectedIndices property to retrieve and tally the price of  
' the selected menu items.
Private Sub ListView1_SelectedIndexChanged_UsingIndices _
    (ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles ListView1.SelectedIndexChanged

    Dim indexes As ListView.SelectedIndexCollection = _
        Me.ListView1.SelectedIndices
    Dim index As Integer
    Dim price As Double = 0.0
    For Each index In indexes
        price += Double.Parse(Me.ListView1.Items(index).SubItems(1).Text)
    Next

    ' Output the price to TextBox1.
    TextBox1.Text = CType(price, String)
End Sub

Hinweise

Ein ListView.SelectedIndexCollection speichert die Indizes für die ausgewählten Elemente in einem ListView -Steuerelement. Die in ListView.SelectedIndexCollection gespeicherten Indizes sind Indexpositionen innerhalb der ListView.ListViewItemCollection. Speichert ListView.ListViewItemCollection alle elemente, die ListView im -Steuerelement angezeigt werden.

Die folgende Tabelle zeigt ein Beispiel für die ListView.ListViewItemCollection Speicherung der Elemente von ListView und zeigt deren Auswahlstatus in einem Beispiel ListViewan.

Index Artikel Auswahlstatus in der ListView
0 Item1 Nicht markiert
1 Item2 Ausgewählt
2 Item3 Nicht markiert
3 Element 4 Ausgewählt
4 Element5 Ausgewählt

Basierend auf dem ListView.ListViewItemCollection Beispiel in der vorherigen Tabelle veranschaulicht die folgende Tabelle, wie die ListView.SelectedIndexCollection angezeigt wird.

Index Index des ausgewählten Elements in der ListViewItemCollection
0 1
1 3
2 4

Sie können die Eigenschaften und Methoden dieser Klasse verwenden, um eine Vielzahl von Aufgaben mit der Auflistung auszuführen. Mit Contains der -Methode können Sie bestimmen, ob eine Indexposition aus dem ListView.ListViewItemCollection einer der in ListView.SelectedIndexCollectiongespeicherten Indizes ist. Sobald Sie wissen, dass sich das Element in der Auflistung befindet, können Sie die IndexOf -Methode verwenden, um die Position des Indexes im ListView.SelectedIndexCollectionzu bestimmen.

Konstruktoren

ListView.SelectedIndexCollection(ListView)

Initialisiert eine neue Instanz der ListView.SelectedIndexCollection-Klasse.

Eigenschaften

Count

Ruft die Anzahl der Elemente in der Auflistung ab.

IsReadOnly

Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist.

Item[Int32]

Ruft den Indexwert am angegebenen Index in der Auflistung ab.

Methoden

Add(Int32)

Fügt der Auflistung am angegebenen Index im Items-Array das Element hinzu.

Clear()

Löscht die Elemente in der Auflistung.

Contains(Int32)

Bestimmt, ob der angegebene Index in der Auflistung enthalten ist.

CopyTo(Array, Int32)

Kopiert die gesamte Auflistung an eine angegebene Position in einem vorhandenen Array.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, mit dem die Auflistung der Indizes ausgewählter Elemente durchlaufen werden kann.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(Int32)

Gibt den Index in der ListView.SelectedIndexCollection des angegebenen Indexes aus der ListView.ListViewItemCollection des ListView-Steuerelements zurück.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(Int32)

Entfernt das Element am angegebenen Index in der Items-Auflistung aus der ListView.SelectedIndexCollection.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert ist (threadsicher).

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die Steuerelementauflistung synchronisiert werden kann

IList.Add(Object)

Fügt der Auflistung ein Element hinzu.

IList.Clear()

Entfernt alle Elemente aus der Auflistung.

IList.Contains(Object)

Bestimmt, ob das angegebene Element in der Auflistung enthalten ist.

IList.IndexOf(Object)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt den Index in der ListView.SelectedIndexCollection zurück. Die ListView.SelectedIndexCollection enthält die Indizes ausgewählter Elemente in der ListView.ListViewItemCollection des ListView-Steuerelements.

IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die Auflistung ein.

IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob das ListView.SelectedIndexCollection eine feste Größe aufweist.

IList.Item[Int32]

Ruft ein Objekt in der Auflistung ab oder legt es fest.

IList.Remove(Object)

Entfernt das erste Vorkommen eines angegebenen Elements aus der Auflistung.

IList.RemoveAt(Int32)

Entfernt ein Element am angegebenen Index aus der Auflistung.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für: