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
[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
Наследование
ListView.SelectedIndexCollectionListView.SelectedIndexCollectionListView.SelectedIndexCollectionListView.SelectedIndexCollection
Атрибуты
Реализации

Примеры

В следующем примере кода демонстрируется использование 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. Вызовите InitializeListView метод из конструктора формы или Load обработчик событий.Call 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;
 
	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

Комментарии

Объект 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.ListViewItemCollection Хранит все элементы, отображаемые в ListView элемента управления.The 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 Item1Item1 UnselectedUnselected
11 Item2Item2 SelectedSelected
22 Item3Item3 UnselectedUnselected
33 Item4Item4 SelectedSelected
44 «ТОВАР5»Item5 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 Индекс выбранного элемента в ListViewItemCollectionIndex 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. Contains Метод позволяет определить, является ли индекс из ListView.ListViewItemCollection является одним из индексов, хранящихся в ListView.SelectedIndexCollection.The 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.

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