Exportar (0) Imprimir
Expandir todo

ListView.SelectedItems (Propiedad)

Actualización: noviembre 2007

Obtiene los elementos seleccionados en el control.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public ListView..::.SelectedListViewItemCollection SelectedItems { get; }
/** @property */
/** @attribute BrowsableAttribute(false) */
public ListView..::.SelectedListViewItemCollection get_SelectedItems()

public function get SelectedItems () : ListView..::.SelectedListViewItemCollection

Valor de propiedad

Tipo: System.Windows.Forms.ListView.SelectedListViewItemCollection
ListView.SelectedListViewItemCollection que contiene los elementos seleccionados en el control. Si no hay ningún elemento seleccionado, se devuelve una colección ListView.SelectedListViewItemCollection vacía.

La propiedad SelectedItems no contendrá elementos si el acceso a la misma se obtiene antes de crear el identificador de ListView, lo que normalmente se produce al cargar inicialmente ListView para presentarlo en el formulario. Puede comprobar si se ha creado el identificador con la propiedad IsHandleCreated. Cuando la propiedad MultiSelect está establecida en true, esta propiedad devuelve una colección que contiene los elementos seleccionados en el ListView. En el caso de una selección simple en el ListView, esta propiedad devuelve una colección que contiene el único elemento seleccionado en el ListView. Para obtener más información sobre las tareas que se pueden llevar a cabo con los elementos de la colección, vea ListView.SelectedListViewItemCollection.

Si desea obtener una colección de las posiciones de índice en el ListView.ListViewItemCollection para los elementos seleccionados en el control ListView en lugar de los elementos seleccionados, utilice la propiedad SelectedIndices.

En el siguiente ejemplo de código se muestra cómo usar la propiedad SelectedItems, el evento SelectedIndexChanged, los miembros de HeaderStyle y la clase ListView.SelectedListViewItemCollection. Para ejecutar este ejemplo, pegue el siguiente código en un formulario que contenga un control ListView denominado ListView1 y un control TextBox denominado TextBox1. Llame al método InitializeListView desde el método Load o el constructor del formulario. Este ejemplo exige que el controlador de eventos esté correctamente asociado al evento SelectedIndexChanged.

	// 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 SelectedItems property to retrieve and tally the price 
	// of the selected menu items.
	private void ListView1_SelectedIndexChanged_UsingItems(
		object sender, System.EventArgs e)
	{

		ListView.SelectedListViewItemCollection breakfast = 
			this.ListView1.SelectedItems;
		
		double price = 0.0;
		foreach ( ListViewItem item in breakfast )
		{
			price += Double.Parse(item.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 SelectedItems property to retrieve and tally the price 
// of the selected menu items.
private void listView1_SelectedIndexChanged_UsingItems(Object sender, 
    System.EventArgs e)
{
    ListView.SelectedListViewItemCollection breakfast = 
        this.listView1.get_SelectedItems();

    double price = 0.0;
    for (int iCtr = 0; iCtr < breakfast.get_Count(); iCtr++) {
        ListViewItem item = breakfast.get_Item(iCtr);
        price += System.Double.Parse(item.get_SubItems().get_Item(1).
            get_Text().ToString());
    }
    // Output the price to textBox1.
    textBox1.set_Text(System.Convert.ToString(price));
} //listView1_SelectedIndexChanged_UsingItems


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

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft