ListView.SelectedIndexCollection Klasa

Definicja

Reprezentuje kolekcję zawierającą indeksy do wybranych elementów w ListView kontrolce.Represents the collection that contains the indexes to the selected items in a ListView control.

public: ref 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
Public Class ListView.SelectedIndexCollection
Implements IList
Dziedziczenie
ListView.SelectedIndexCollection
Atrybuty
Implementuje

Przykłady

Poniższy przykład SelectedIndiceskodu demonstruje, jak używać elementów członkowskich ListView.SelectedIndexCollection , SelectedIndexChangedi HeaderStyle i klasy.The following code example demonstrates how to use the SelectedIndices, SelectedIndexChanged, and HeaderStyle members and the ListView.SelectedIndexCollection class. Aby uruchomić ten przykład, wklej następujący kod do ListView formularza, który zawiera obiekt o nazwie ListView1 i TextBox nazwa TextBox1.To run this example, paste the following code into a form that contains a ListView object named ListView1 and a TextBox named TextBox1. Load Wywołaj InitializeListView metodę z konstruktora lub procedury obsługi zdarzeń.Call the InitializeListView method from the form's constructor or Load event handler. Ten przykład wymaga, aby procedura obsługi zdarzeń była poprawnie skojarzona SelectedIndexChanged ze zdarzeniem.This example requires that the event handler is correctly associated with the SelectedIndexChanged event.

// 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

Uwagi

Zapisuje indeksy do wybranych elementów ListView w kontrolce. ListView.SelectedIndexCollectionA ListView.SelectedIndexCollection stores the indexes to the selected items in a ListView control. Indeksy przechowywane w ListView.SelectedIndexCollection indeksach są pozycjami indeksu ListView.ListViewItemCollectionw obrębie.The indexes stored in the ListView.SelectedIndexCollection are index positions within the ListView.ListViewItemCollection. Wszystkie elementy ListView są wyświetlane w formancie. ListView.ListViewItemCollectionThe ListView.ListViewItemCollection stores all items displayed in the ListView control.

W poniższej tabeli przedstawiono przykład sposobu, ListView.ListViewItemCollection w jaki magazyny elementy ListView i pokazują ich Stany ListViewzaznaczenia.The following table shows an example of how the ListView.ListViewItemCollection stores the items of the ListView and shows their selection states in an example ListView.

IndeksIndex ElementItem Stan wyboru w elemencie ListViewSelection state in the ListView
00 Item1 —Item1 NiezaznaczoneUnselected
11 Item2 —Item2 WybraneSelected
22 Item3 —Item3 NiezaznaczoneUnselected
33 Item4 —Item4 WybraneSelected
44 Item5 —Item5 WybraneSelected

W oparciu o ListView.ListViewItemCollection przykład z poprzedniej tabeli przedstawiono w poniższej tabeli ListView.SelectedIndexCollection sposób wyświetlania.Based on the ListView.ListViewItemCollection example in the previous table, the following table demonstrates how the ListView.SelectedIndexCollection would appear.

IndeksIndex Indeks wybranego elementu w elemencie ListViewItemcollectionIndex of selected item in the ListViewItemCollection
00 11
11 33
22 44

Właściwości i metod tej klasy można użyć do wykonywania różnych zadań z kolekcją.You can use the properties and methods of this class to perform a variety of tasks with the collection. Metoda pozwala określić, czy pozycja indeksu ListView.ListViewItemCollection z jest jednym z indeksów przechowywanych w ListView.SelectedIndexCollection. ContainsThe Contains method enables you to determine whether an index position from the ListView.ListViewItemCollection is one of the indexes stored in the ListView.SelectedIndexCollection. Gdy wiesz, że element znajduje się w kolekcji, możesz użyć IndexOf metody, aby określić położenie indeksu ListView.SelectedIndexCollectionw.Once you know that the item is in the collection, you can use the IndexOf method to determine the position of the index in the ListView.SelectedIndexCollection.

Konstruktory

ListView.SelectedIndexCollection(ListView)

Inicjuje nowe wystąpienie klasy ListView.SelectedIndexCollection klasy.Initializes a new instance of the ListView.SelectedIndexCollection class.

Właściwości

Count

Pobiera liczbę elementów w kolekcji.Gets the number of items in the collection.

IsReadOnly

Pobiera wartość wskazującą, czy kolekcja jest tylko do odczytu.Gets a value indicating whether the collection is read-only.

Item[Int32]

Pobiera wartość indeksu przy określonym indeksie w kolekcji.Gets the index value at the specified index within the collection.

Metody

Add(Int32)

Dodaje element o określonym indeksie w Items tablicy do kolekcji.Adds the item at the specified index in the Items array to the collection.

Clear()

Czyści elementy w kolekcji.Clears the items in the collection.

Contains(Int32)

Określa, czy określony indeks znajduje się w kolekcji.Determines whether the specified index is located in the collection.

CopyTo(Array, Int32)

Kopiuje całą kolekcję do istniejącej tablicy w określonej lokalizacji w tablicy.Copies the entire collection into an existing array at a specified location within the array.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który może być używany do iteracji w wybranej kolekcji indeksów.Returns an enumerator that can be used to iterate through the selected index collection.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
IndexOf(Int32)

Zwraca indeks znajdujący się ListView.SelectedIndexCollection w określonym indeksie ListView.ListViewItemCollection z ListView formantu.Returns the index within the ListView.SelectedIndexCollection of the specified index from the ListView.ListViewItemCollection of the ListView control.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Objectelementu.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Remove(Int32)

Usuwa element o określonym indeksie w Items kolekcji ListView.SelectedIndexCollectionz.Removes the item at the specified index in the Items collection from the ListView.SelectedIndexCollection.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji kontrolek.Gets an object that can be used to synchronize access to the collection of controls.

IList.Add(Object)

Dodaje element do kolekcji.Adds an item to the collection.

IList.Clear()

Usuwa wszystkie elementy z kolekcji.Removes all items from the collection.

IList.Contains(Object)

Określa, czy określony element znajduje się w kolekcji.Determines whether the specified item is located in the collection.

IList.IndexOf(Object)

Zwraca indeks w ListView.SelectedIndexCollection.Returns the index in the ListView.SelectedIndexCollection. Zawiera indeksy wybranych elementów ListView.ListViewItemCollection w ListView kontrolce. ListView.SelectedIndexCollectionThe ListView.SelectedIndexCollection contains the indexes of selected items in the ListView.ListViewItemCollection of the ListView control.

IList.Insert(Int32, Object)

Wstawia element do kolekcji w określonym indeksie.Inserts an item into the collection at a specified index.

IList.IsFixedSize

Pobiera wartość wskazującą, ListView.SelectedIndexCollection czy ma stały rozmiar.Gets a value indicating whether the ListView.SelectedIndexCollection has a fixed size.

IList.Item[Int32]

Pobiera lub ustawia obiekt w kolekcji.Gets or sets an object in the collection.

IList.Remove(Object)

Usuwa pierwsze wystąpienie określonego elementu z kolekcji.Removes the first occurrence of a specified item from the collection.

IList.RemoveAt(Int32)

Usuwa element z kolekcji o określonym indeksie.Removes an item from the collection at a specified index.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable do określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

Dotyczy