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
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe ListView.SelectedIndexCollection

Representa a coleção que contém os índices para os itens selecionados em um ListView controle.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (em System.Windows.Forms.dll)
[ListBindableAttribute(false)]
public class SelectedIndexCollection : IList, 
	ICollection, IEnumerable

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


System.Object
  System.Windows.Forms.ListView.SelectedIndexCollection
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

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.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatível com: 3.5, 2.0, 1.0
Isso foi útil para você?
(1500 caracteres restantes)
Conteúdo da Comunidade Adicionar