ListView.SelectedIndexCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa a coleção que contém os índices para os itens selecionados em um ListView controle.
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
- Herança
-
ListView.SelectedIndexCollection
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir demonstra como usar os SelectedIndicesSelectedIndexChangedmembros e membros e HeaderStyle a ListView.SelectedIndexCollection classe. Para executar este exemplo, cole o código a seguir em um formulário que contém um ListView objeto nomeado ListView1 e um TextBox nomeado TextBox1. Chame o InitializeListView método do construtor ou Load manipulador de eventos do formulário. Este exemplo requer que o manipulador de eventos esteja corretamente associado ao SelectedIndexChanged evento.
// 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
Comentários
Um ListView.SelectedIndexCollection armazena os índices para os itens selecionados em um ListView controle. Os índices armazenados no ListView.SelectedIndexCollection índice são posições de índice dentro do ListView.ListViewItemCollection. Os ListView.ListViewItemCollection repositórios de todos os itens exibidos no ListView controle.
A tabela a seguir mostra um exemplo de como os ListView.ListViewItemCollection itens são armazenados e mostra seus estados de ListView seleção em um exemplo ListView.
| Índice | Item | Estado de seleção no ListView |
|---|---|---|
| 0 | Item1 | Não selecionado |
| 1 | Item2 | Selecionado |
| 2 | Item3 | Não selecionado |
| 3 | Item4 | Selecionado |
| 4 | Item5 | Selecionado |
Com base no ListView.ListViewItemCollection exemplo na tabela anterior, a tabela a seguir demonstra como ela ListView.SelectedIndexCollection seria exibida.
| Índice | Índice do item selecionado no ListViewItemCollection |
|---|---|
| 0 | 1 |
| 1 | 3 |
| 2 | 4 |
Você pode usar as propriedades e os métodos dessa classe para executar uma variedade de tarefas com a coleção. O Contains método permite determinar se uma posição de índice é ListView.ListViewItemCollection um dos índices armazenados no ListView.SelectedIndexCollection. Depois de saber que o item está na coleção, você pode usar o IndexOf método para determinar a posição do índice no ListView.SelectedIndexCollection.
Construtores
| Nome | Description |
|---|---|
| ListView.SelectedIndexCollection(ListView) |
Inicializa uma nova instância da classe ListView.SelectedIndexCollection. |
Propriedades
| Nome | Description |
|---|---|
| Count |
Obtém o número de itens na coleção. |
| IsReadOnly |
Obtém um valor que indica se a coleção é somente leitura. |
| Item[Int32] |
Obtém o valor do índice no índice especificado dentro da coleção. |
Métodos
| Nome | Description |
|---|---|
| Add(Int32) |
Adiciona o item no índice especificado na Items matriz à coleção. |
| Clear() |
Limpa os itens da coleção. |
| Contains(Int32) |
Determina se o índice especificado está localizado na coleção. |
| CopyTo(Array, Int32) |
Copia toda a coleção em uma matriz existente em um local especificado dentro da matriz. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Retorna um enumerador que pode ser usado para iterar por meio da coleção de índices selecionada. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(Int32) |
Retorna o índice dentro do ListView.SelectedIndexCollection índice especificado do ListView.ListViewItemCollectionListView controle. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Remove(Int32) |
Remove o item no índice especificado na Items coleção do ListView.SelectedIndexCollection. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ICollection.IsSynchronized |
Obtém um valor que indica se o acesso à coleção é sincronizado (thread safe). |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso à coleção de controles. |
| IList.Add(Object) |
Adiciona um item à coleção. |
| IList.Clear() |
Remove todos os itens da coleção. |
| IList.Contains(Object) |
Determina se o item especificado está localizado na coleção. |
| IList.IndexOf(Object) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Retorna o índice no ListView.SelectedIndexCollection. Contém ListView.SelectedIndexCollection os índices de itens selecionados no ListView.ListViewItemCollectionListView controle. |
| IList.Insert(Int32, Object) |
Insere um item na coleção em um índice especificado. |
| IList.IsFixedSize |
Obtém um valor que indica se o ListView.SelectedIndexCollection tamanho tem um tamanho fixo. |
| IList.Item[Int32] |
Obtém ou define um objeto na coleção. |
| IList.Remove(Object) |
Remove a primeira ocorrência de um item especificado da coleção. |
| IList.RemoveAt(Int32) |
Remove um item da coleção em um índice especificado. |
Métodos de Extensão
| Nome | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |
| Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |