ListView.SelectedIndexCollection 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, která obsahuje indexy vybraných položek v ovládacím prvku ListView .
public: ref class ListView::SelectedIndexCollection : System::Collections::IList
public class ListView.SelectedIndexCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.SelectedIndexCollection : System.Collections.IList
type ListView.SelectedIndexCollection = class
interface IList
interface ICollection
interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.SelectedIndexCollection = class
interface IList
interface ICollection
interface IEnumerable
Public Class ListView.SelectedIndexCollection
Implements IList
- Dědičnost
-
ListView.SelectedIndexCollection
- Atributy
- Implementuje
Příklady
Následující příklad kódu ukazuje, jak používat SelectedIndicesSelectedIndexChanged, a HeaderStyle členy a ListView.SelectedIndexCollection třídu . Chcete-li spustit tento příklad, vložte následující kód do formuláře, který obsahuje ListView objekt s názvem a TextBox s názvem ListView1
TextBox1
. Volejte metodu InitializeListView
z konstruktoru formuláře nebo Load obslužné rutiny 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 SelectedIndices property to retrieve and tally the
// price of the selected menu items.
void ListView1_SelectedIndexChanged_UsingIndices( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
ListView::SelectedIndexCollection^ indexes = this->ListView1->SelectedIndices;
double price = 0.0;
System::Collections::IEnumerator^ myEnum1 = indexes->GetEnumerator();
while ( myEnum1->MoveNext() )
{
int index = safe_cast<int>(myEnum1->Current);
price += Double::Parse( this->ListView1->Items[ index ]->SubItems[ 1 ]->Text );
}
// Output the price to TextBox1.
TextBox1->Text = price.ToString();
}
// 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();
}
' Uses the SelectedIndices property to retrieve and tally the price of
' the selected menu items.
Private Sub ListView1_SelectedIndexChanged_UsingIndices _
(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ListView1.SelectedIndexChanged
Dim indexes As ListView.SelectedIndexCollection = _
Me.ListView1.SelectedIndices
Dim index As Integer
Dim price As Double = 0.0
For Each index In indexes
price += Double.Parse(Me.ListView1.Items(index).SubItems(1).Text)
Next
' Output the price to TextBox1.
TextBox1.Text = CType(price, String)
End Sub
Poznámky
Objekt ListView.SelectedIndexCollection ukládá indexy vybraných položek v ovládacím ListView prvku. Indexy uložené v objektu ListView.SelectedIndexCollection jsou indexové pozice v objektu ListView.ListViewItemCollection. Uloží ListView.ListViewItemCollection všechny položky zobrazené v ovládacím ListView prvku.
Následující tabulka ukazuje příklad, jak ListView.ListViewItemCollection ukládá položky objektu ListView a zobrazuje jejich stavy výběru v příkladu ListView.
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žka 4 | Vybráno |
4 | Položka5 | Vybráno |
Následující tabulka na základě příkladu ListView.ListViewItemCollection v předchozí tabulce ukazuje, jak ListView.SelectedIndexCollection by vypadala.
Index | Index vybrané položky v ListViewItemCollection |
---|---|
0 | 1 |
1 | 3 |
2 | 4 |
Pomocí vlastností a metod této třídy můžete s kolekcí provádět různé úlohy. Metoda Contains umožňuje určit, zda je pozice indexu z objektu ListView.ListViewItemCollection jedním z indexů uložených v objektu ListView.SelectedIndexCollection. Jakmile víte, že položka je v kolekci, můžete pomocí IndexOf metody určit pozici indexu v objektu ListView.SelectedIndexCollection.
Konstruktory
ListView.SelectedIndexCollection(ListView) |
Inicializuje novou instanci ListView.SelectedIndexCollection 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á hodnotu indexu v zadaném indexu v rámci kolekce. |
Metody
Add(Int32) |
Přidá položku v zadaném indexu Items v poli do kolekce. |
Clear() |
Vymaže položky v kolekci. |
Contains(Int32) |
Určuje, zda je zadaný index umístěn 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í indexů. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
IndexOf(Int32) |
Vrátí index v rámci ListView.SelectedIndexCollection zadaného indexu ListView.ListViewItemCollectionListView z ovládacího prvku. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Remove(Int32) |
Odebere položku v zadaném indexu v kolekci Items z objektu ListView.SelectedIndexCollection. |
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 přístup ke kolekci je synchronizován (bezpečné z více 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.Clear() |
Odebere všechny položky z kolekce. |
IList.Contains(Object) |
Určuje, zda je zadaná položka umístěna v kolekci. |
IList.IndexOf(Object) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Vrátí index v objektu ListView.SelectedIndexCollection. Obsahuje ListView.SelectedIndexCollection indexy vybraných položek v ListView.ListViewItemCollection ovládacím ListView prvku . |
IList.Insert(Int32, Object) |
Vloží položku do kolekce v zadaném indexu. |
IList.IsFixedSize |
Získá hodnotu označující, zda ListView.SelectedIndexCollection má pevnou velikost. |
IList.Item[Int32] |
Získá nebo nastaví objekt v kolekci. |
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. |