Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações. |
Tradução
Original
|
Classe ListView.SelectedIndexCollection
Representa a coleção que contém os índices para os itens selecionados em um ListView controle.
Assembly: System.Windows.Forms (em System.Windows.Forms.dll)
A ListView.SelectedIndexCollection armazena os índices para os itens selecionados em um ListView controle. Os índices armazenados na ListView.SelectedIndexCollection são as posições de índice dentro da ListView.ListViewItemCollection. The ListView.ListViewItemCollection armazena todos os itens exibidos na ListView controle.
A tabela a seguir mostra um exemplo de como a ListView.ListViewItemCollection armazena os itens da ListView Estados de sua seleção mostra um exemplo e ListView.
|
Índice |
Item |
Estado de seleção em ListView |
|---|---|---|
|
0 |
Item1 |
Não selecionado |
|
1 |
Item2 |
Selected |
|
2 |
Item3 |
Não selecionado |
|
3 |
Item4 |
Selected |
|
4 |
Item5 |
Selected |
Baseia o ListView.ListViewItemCollection o exemplo na tabela anterior, a tabela a seguir demonstra como o ListView.SelectedIndexCollection será exibido.
|
Índice |
Índice do item selecionado no ListViewItemCollection |
|---|---|
|
0 |
1 |
|
1 |
3 |
|
2 |
4 |
Você pode usar as propriedades e métodos dessa classe para executar uma variedade de tarefas com a coleção. The Contains método lhe permite determinar se uma posição de índice das ListView.ListViewItemCollection é um dos índices armazenados na ListView.SelectedIndexCollection. Depois que você sabe que é o item na coleção, você pode usar o IndexOf método para determinar a posição do índice na ListView.SelectedIndexCollection.
O exemplo de código a seguir demonstra como usar o SelectedIndices, SelectedIndexChanged, e HeaderStyle os membros e a ListView.SelectedIndexCollection classe. Para executar esse exemplo, cole o código a seguir em um formulário que contém um ListView objeto nomeado ListView1 e um TextBox chamada TextBox1. Chamar o InitializeListView método do construtor do formulário ou Load manipulador de eventos. Este exemplo requer que o manipulador de eventos está corretamente associado a 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. 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); } ... // 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(); }
// 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.set_BackColor(
System.Drawing.SystemColors.get_Control());
this.listView1.set_Dock(System.Windows.Forms.DockStyle.Top);
this.listView1.set_Location(new System.Drawing.Point(0, 0));
this.listView1.set_Name("listView1");
this.listView1.set_Size(new System.Drawing.Size(292, 130));
this.listView1.set_TabIndex(0);
this.listView1.set_View(System.Windows.Forms.View.Details);
this.listView1.set_MultiSelect(true);
this.listView1.set_HideSelection(false);
this.listView1.set_HeaderStyle(ColumnHeaderStyle.Nonclickable);
ColumnHeader columnHeader1 = new ColumnHeader();
columnHeader1.set_Text("Breakfast Item");
columnHeader1.set_TextAlign(HorizontalAlignment.Left);
columnHeader1.set_Width(146);
ColumnHeader columnHeader2 = new ColumnHeader();
columnHeader2.set_Text("Price Each");
columnHeader2.set_TextAlign(HorizontalAlignment.Center);
columnHeader2.set_Width(142);
this.listView1.get_Columns().Add(columnHeader1);
this.listView1.get_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.get_Length(); count++) {
ListViewItem listItem = new ListViewItem(
foodList.get_Item(count).ToString());
listItem.get_SubItems().Add(foodPrice.get_Item(count).ToString());
listView1.get_Items().Add(listItem);
}
this.get_Controls().Add(listView1);
} //InitializeListView
...
// 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.get_SelectedIndices();
double price = 0.0;
for (int iCtr = 0; iCtr < indexes.get_Count(); iCtr++) {
int index = indexes.get_Item(iCtr);
price += System.Double.Parse(this.listView1.get_Items().
get_Item(index).get_SubItems().get_Item(1).get_Text());
}
// Output the price to textBox1.
textBox1.set_Text(System.Convert.ToString(price));
} //listView1_SelectedIndexChanged_UsingIndices
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.