ListView.SelectedIndexCollection ListView.SelectedIndexCollection ListView.SelectedIndexCollection ListView.SelectedIndexCollection Class


Представляет коллекцию, содержащую индексы выбранных элементов в элементе управления ListView.Represents the collection that contains the indexes to the selected items in a ListView control.

public: ref class ListView::SelectedIndexCollection : System::Collections::IList
public class ListView.SelectedIndexCollection : System.Collections.IList
type ListView.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListView.SelectedIndexCollection
Implements IList


В следующем SelectedIndicesпримере кода показано, как использовать элементы, SelectedIndexChangedи HeaderStyle и ListView.SelectedIndexCollection класс.The following code example demonstrates how to use the SelectedIndices, SelectedIndexChanged, and HeaderStyle members and the ListView.SelectedIndexCollection class. Чтобы выполнить этот пример, вставьте следующий код ListView в форму, содержащую объект с именем ListView1 и TextBox с именем 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 метод из конструктора формы или обработчика событий. InitializeListViewCall the InitializeListView method from the form's constructor or Load event handler. В этом примере требуется, чтобы обработчик событий был правильно связан с SelectedIndexChanged событием.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;


      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]);
' 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

    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))
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 = 
    double price = 0.0;
    foreach ( int index in indexes )
        price += Double.Parse(

    // 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 = _
    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)

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


Объект ListView.SelectedIndexCollection хранит индексы для выбранных элементов ListView в элементе управления.A ListView.SelectedIndexCollection stores the indexes to the selected items in a ListView control. Индексы, хранящиеся ListView.SelectedIndexCollection в, являются позициями ListView.ListViewItemCollectionиндекса в.The indexes stored in the ListView.SelectedIndexCollection are index positions within the ListView.ListViewItemCollection. Сохраняет все элементы, ListView отображаемые в элементе управления. ListView.ListViewItemCollectionThe ListView.ListViewItemCollection stores all items displayed in the ListView control.

В следующей таблице показан пример того, как объект ListView.ListViewItemCollection хранит элементы ListView и отображает их состояния выбора в примере ListView.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.

ИндексIndex ЭлементItem Состояние выбора в ListViewSelection state in the ListView
00 ПервыйItem1 UnselectedUnselected
11 Item2Item2 SelectedSelected
22 Item3Item3 UnselectedUnselected
33 Item4Item4 SelectedSelected
44 Item5Item5 SelectedSelected

В следующей таблице ListView.ListViewItemCollection , основанной на примере в предыдущей таблице, показано, ListView.SelectedIndexCollection как будет выглядеть.Based on the ListView.ListViewItemCollection example in the previous table, the following table demonstrates how the ListView.SelectedIndexCollection would appear.

ИндексIndex Индекс выбранного элемента в ЛиствиевитемколлектионIndex of selected item in the ListViewItemCollection
00 11
11 33
22 44

Свойства и методы этого класса можно использовать для выполнения различных задач с коллекцией.You can use the properties and methods of this class to perform a variety of tasks with the collection. Метод позволяет определить, является ли позиция индекса из, ListView.ListViewItemCollection одним из индексов, хранящихся в 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. Зная, что элемент находится в коллекции, можно использовать IndexOf метод для определения позиции индекса ListView.SelectedIndexCollectionв.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.


ListView.SelectedIndexCollection(ListView) ListView.SelectedIndexCollection(ListView) ListView.SelectedIndexCollection(ListView) ListView.SelectedIndexCollection(ListView)

Инициализирует новый экземпляр класса ListView.SelectedIndexCollection.Initializes a new instance of the ListView.SelectedIndexCollection class.


Count Count Count Count

Возвращает количество элементов в коллекции.Gets the number of items in the collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Возвращает значение, указывающее, является ли коллекция доступной только для чтения.Gets a value indicating whether the collection is read-only.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Возвращает значение индекса для заданного индекса в коллекции.Gets the index value at the specified index within the collection.


Add(Int32) Add(Int32) Add(Int32) Add(Int32)

Добавляет в коллекцию элемент, имеющий указанный индекс в массиве Items.Adds the item at the specified index in the Items array to the collection.

Clear() Clear() Clear() Clear()

Очищает элементы коллекции.Clears the items in the collection.

Contains(Int32) Contains(Int32) Contains(Int32) Contains(Int32)

Определяет, находится ли указанный индекс в данной коллекции.Determines whether the specified index is located in the collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Копирует коллекцию целиком в заданное место существующего массива.Copies the entire collection into an existing array at a specified location within the array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Возвращает перечислитель, который можно использовать для перебора всех элементов в коллекции выбранных индексов.Returns an enumerator that can be used to iterate through the selected index collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Int32) IndexOf(Int32) IndexOf(Int32) IndexOf(Int32)

Возвращает индекс в ListView.SelectedIndexCollection для указанного индекса из ListView.ListViewItemCollection элемента управления ListView.Returns the index within the ListView.SelectedIndexCollection of the specified index from the ListView.ListViewItemCollection of the ListView control.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(Int32) Remove(Int32) Remove(Int32) Remove(Int32)

Удаляет элемент с указанным индексом в коллекции Items из коллекции ListView.SelectedIndexCollection.Removes the item at the specified index in the Items collection from the ListView.SelectedIndexCollection.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Возвращает значение, указывающее, является ли доступ к коллекции синхронизированным (потокобезопасным).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Возвращает объект, который может быть использован для синхронизации доступа к коллекции элементов управления.Gets an object that can be used to synchronize access to the collection of controls.

IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)

Добавляет элемент в коллекцию.Adds an item to the collection.

IList.Clear() IList.Clear() IList.Clear() IList.Clear()

Удаляет все элементы из коллекции.Removes all items from the collection.

IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)

Определяет, находится ли указанный элемент в коллекции.Determines whether the specified item is located in the collection.

IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)

Возвращает индекс в коллекции ListView.SelectedIndexCollection.Returns the index in the ListView.SelectedIndexCollection. Коллекция ListView.SelectedIndexCollection содержит индексы элементов, выбранных в коллекции ListView.ListViewItemCollection элемента управления ListView.The ListView.SelectedIndexCollection contains the indexes of selected items in the ListView.ListViewItemCollection of the ListView control.

IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)

Вставляет элемент в коллекцию по указанному индексу.Inserts an item into the collection at a specified index.

IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize

Получает значение, указывающее, имеет ли список ListView.SelectedIndexCollection фиксированный размер.Gets a value indicating whether the ListView.SelectedIndexCollection has a fixed size.

IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]

Возвращает или задает объект, входящий в коллекцию.Gets or sets an object in the collection.

IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Удаляет из коллекции первое вхождение указанного элемента.Removes the first occurrence of a specified item from the collection.

IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32)

Удаляет элемент из коллекции по указанному индексу.Removes an item from the collection at a specified index.

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к