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 členy a ListView.SelectedListViewItemCollection třídy. Chcete-li spustit tento příklad, vložte následující kód do formuláře, který obsahuje objekt pojmenovaný ListViewListView1 a pojmenovaný TextBoxTextBox1.
InitializeListView Volání metody 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 SelectedIndexChanged události.
// 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 těchto ListView.SelectedListViewItemCollection položkách jsou obsaženy v objektu ListView.ListViewItemCollection. Ukládá ListView.ListViewItemCollection všechny položky zobrazené v souboru ListView.
Následující tabulka ukazuje příklad, jak ListView.ListViewItemCollection ukládají položky a ListView jejich stavy výběru do ukázkového ListView ovládacího prvku.
| Index | Item | Stav výběru v zobrazení ListView |
|---|---|---|
| 0 | Položka 1 | Nevybráno |
| 1 | Položka 2 | Vybráno |
| 2 | Položka 3 | Nevybráno |
| 3 | Položka 4 | Vybráno |
| 4 | Položka 5 | Vybráno |
Na základě příkladu ListView.ListViewItemCollection v předchozí tabulce ukazuje následující tabulka, jak by vypadala ListView.SelectedListViewItemCollection .
| Index | Vybraná položka v ListViewItemCollection |
|---|---|
| 0 | Položka 2 |
| 1 | Položka 4 |
| 2 | Položka 5 |
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.SelectedListViewItemCollection. Jakmile víte, že položka je v kolekci, můžete použít IndexOf metodu k určení pozice položky v objektu ListView.SelectedListViewItemCollection.
Konstruktory
| Name | Description |
|---|---|
| ListView.SelectedListViewItemCollection(ListView) |
Inicializuje novou instanci ListView.SelectedListViewItemCollection třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet položek v kolekci. |
| IsReadOnly |
Získá hodnotu určující, zda kolekce je jen pro čtení. |
| Item[Int32] |
Získá položku v zadaném indexu v kolekci. |
| Item[String] |
Získá položku se zadaným klíčem z kolekce. |
Metody
| Name | Description |
|---|---|
| Clear() |
Vymaže všechny výběry v zobrazení seznamu. |
| 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čuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
Vrátí enumerátor, který lze použít k iteraci v kolekci vybraných položek. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IndexOf(ListViewItem) |
Vrátí index v kolekci 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 Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICollection.IsSynchronized |
Získá hodnotu označující, zda je přístup ke kolekci synchronizován (bezpečné vlákno). |
| ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k 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 rámci kolekce. |
| IList.Insert(Int32, Object) |
Vloží položku do kolekce v zadaném indexu. |
| IList.IsFixedSize |
Získá hodnotu urč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í
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |