ListView.SelectedListViewItemCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje kolekci vybraných položek v ovládacím prvku zobrazení seznamu.
public: ref class ListView::SelectedListViewItemCollection : System::Collections::IList
public class ListView.SelectedListViewItemCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.SelectedListViewItemCollection : System.Collections.IList
type ListView.SelectedListViewItemCollection = class
interface IList
interface ICollection
interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.SelectedListViewItemCollection = class
interface IList
interface ICollection
interface IEnumerable
Public Class ListView.SelectedListViewItemCollection
Implements IList
- Dědičnost
-
ListView.SelectedListViewItemCollection
- Atributy
- Implementuje
Příklady
Následující příklad kódu ukazuje použití SelectedItems, SelectedIndexChanged události a HeaderStyle členů a ListView.SelectedListViewItemCollection třídy. Chcete-li spustit tento příklad, vložte následující kód do formuláře, který obsahuje ListView objekt s názvem ListView1
a pojmenovaný TextBoxTextBox1
. Zavolejte metodu InitializeListView
z konstruktoru formuláře nebo obslužné rutiny Load události. Tento příklad vyžaduje, aby obslužná rutina události byla správně přidružena k události.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.
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 SelectedItems property to retrieve and tally the price
// of the selected menu items.
void ListView1_SelectedIndexChanged_UsingItems( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
ListView::SelectedListViewItemCollection^ breakfast = this->ListView1->SelectedItems;
double price = 0.0;
System::Collections::IEnumerator^ myEnum = breakfast->GetEnumerator();
while ( myEnum->MoveNext() )
{
ListViewItem^ item = safe_cast<ListViewItem^>(myEnum->Current);
price += Double::Parse( item->SubItems[ 1 ]->Text );
}
// Output the price to TextBox1.
TextBox1->Text = price.ToString();
}
// 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();
}
' Uses the SelectedItems property to retrieve and tally the price
' of the selected menu items.
Private Sub ListView1_SelectedIndexChanged_UsingItems _
(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ListView1.SelectedIndexChanged
Dim breakfast As ListView.SelectedListViewItemCollection = _
Me.ListView1.SelectedItems
Dim item As ListViewItem
Dim price As Double = 0.0
For Each item In breakfast
price += Double.Parse(item.SubItems(1).Text)
Next
' Output the price to TextBox1.
TextBox1.Text = CType(price, String)
End Sub
Poznámky
A ListView.SelectedListViewItemCollection ukládá vybrané položky do ListView ovládacího prvku. Položky uložené v souboru ListView.SelectedListViewItemCollection jsou položky obsažené v objektu ListView.ListViewItemCollection. Uloží ListView.ListViewItemCollection všechny položky zobrazené v souboru ListView.
Následující tabulka ukazuje příklad, jak ListView.ListViewItemCollection ukládá položky objektu ListView a jejich stavy výběru do ukázkového ListView ovládacího prvku.
Index | Položka | Stav výběru v zobrazení ListView |
---|---|---|
0 | Položka 1 | Nevybrané |
1 | Položka 2 | Vybráno |
2 | Položka 3 | Nevybrané |
3 | Položka4 | Vybráno |
4 | Položka5 | Vybráno |
Na základě příkladu ListView.ListViewItemCollection v předchozí tabulce následující tabulka ukazuje, jak by vypadala ListView.SelectedListViewItemCollection .
Index | Vybraná položka v ListViewItemCollection |
---|---|
0 | Položka 2 |
1 | Položka4 |
2 | Položka5 |
Vlastnosti a metody této třídy můžete použít k provádění různých úloh s kolekcí. Metoda Contains umožňuje určit, zda je položka z ListView.ListViewItemCollection třídy členem ListView.SelectedListViewItemCollectiontřídy . Jakmile víte, že položka je v kolekci, můžete pomocí IndexOf metody určit umístění položky v objektu ListView.SelectedListViewItemCollection.
Konstruktory
ListView.SelectedListViewItemCollection(ListView) |
Inicializuje novou instanci ListView.SelectedListViewItemCollection třídy. |
Vlastnosti
Count |
Získá počet prvků v kolekci. |
IsReadOnly |
Získá hodnotu, která udává, zda je kolekce určena jen pro čtení. |
Item[Int32] |
Získá položku v zadaném indexu v rámci kolekce. |
Item[String] |
Získá položku se zadaným klíčem z kolekce. |
Metody
Clear() |
Odebere všechny položky z kolekce. |
Contains(ListViewItem) |
Určuje, zda je zadaná položka umístěna v kolekci. |
ContainsKey(String) |
Určuje, zda je položka se zadaným klíčem obsažena v kolekci. |
CopyTo(Array, Int32) |
Zkopíruje celou kolekci do existujícího pole v zadaném umístění v rámci pole. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetEnumerator() |
Vrátí enumerátor, který lze použít k iteraci vybranou kolekcí položek. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
IndexOf(ListViewItem) |
Vrátí index v rámci kolekce zadané položky. |
IndexOfKey(String) |
Vrátí index prvního výskytu položky se zadaným klíčem. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
ICollection.IsSynchronized |
Získá hodnotu označující, zda je synchronizován přístup ke kolekci (bez vláken). |
ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu ke kolekci ovládacích prvků. |
IList.Add(Object) |
Přidá položku do kolekce. |
IList.Contains(Object) |
Určuje, zda je zadaná položka umístěna v kolekci. |
IList.IndexOf(Object) |
Vrátí index zadané položky v kolekci. |
IList.Insert(Int32, Object) |
Vloží položku do kolekce v zadaném indexu. |
IList.IsFixedSize |
Získá hodnotu označující, zda kolekce má pevnou velikost. |
IList.Item[Int32] |
Získá nebo nastaví objekt z kolekce. |
IList.Remove(Object) |
Odebere první výskyt zadané položky z kolekce. |
IList.RemoveAt(Int32) |
Odebere položku z kolekce v zadaném indexu. |
Metody rozšíření
Cast<TResult>(IEnumerable) |
Přetypuje prvky objektu na IEnumerable zadaný typ. |
OfType<TResult>(IEnumerable) |
Filtruje prvky objektu IEnumerable na základě zadaného typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |