ListView.SelectedIndexCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Auflistung dar, die die Indizes für die aktivierten Elemente in einem ListView-Steuerelement enthält.
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
- Vererbung
-
ListView.SelectedIndexCollection
- Attribute
- Implementiert
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die SelectedIndicesMember , SelectedIndexChangedund HeaderStyle und sowie die ListView.SelectedIndexCollection -Klasse verwendet werden. Fügen Sie zum Ausführen dieses Beispiels den folgenden Code in ein Formular ein, das ein ListView -Objekt mit dem Namen ListView1
und einen TextBox mit dem Namen TextBox1
enthält. Rufen Sie die InitializeListView
-Methode aus dem Konstruktor oder Load Ereignishandler des Formulars auf. In diesem Beispiel ist es erforderlich, dass der Ereignishandler dem SelectedIndexChanged Ereignis ordnungsgemäß zugeordnet ist.
// 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
Hinweise
Ein ListView.SelectedIndexCollection speichert die Indizes für die ausgewählten Elemente in einem ListView -Steuerelement. Die in ListView.SelectedIndexCollection gespeicherten Indizes sind Indexpositionen innerhalb der ListView.ListViewItemCollection. Speichert ListView.ListViewItemCollection alle elemente, die ListView im -Steuerelement angezeigt werden.
Die folgende Tabelle zeigt ein Beispiel für die ListView.ListViewItemCollection Speicherung der Elemente von ListView und zeigt deren Auswahlstatus in einem Beispiel ListViewan.
Index | Artikel | Auswahlstatus in der ListView |
---|---|---|
0 | Item1 | Nicht markiert |
1 | Item2 | Ausgewählt |
2 | Item3 | Nicht markiert |
3 | Element 4 | Ausgewählt |
4 | Element5 | Ausgewählt |
Basierend auf dem ListView.ListViewItemCollection Beispiel in der vorherigen Tabelle veranschaulicht die folgende Tabelle, wie die ListView.SelectedIndexCollection angezeigt wird.
Index | Index des ausgewählten Elements in der ListViewItemCollection |
---|---|
0 | 1 |
1 | 3 |
2 | 4 |
Sie können die Eigenschaften und Methoden dieser Klasse verwenden, um eine Vielzahl von Aufgaben mit der Auflistung auszuführen. Mit Contains der -Methode können Sie bestimmen, ob eine Indexposition aus dem ListView.ListViewItemCollection einer der in ListView.SelectedIndexCollectiongespeicherten Indizes ist. Sobald Sie wissen, dass sich das Element in der Auflistung befindet, können Sie die IndexOf -Methode verwenden, um die Position des Indexes im ListView.SelectedIndexCollectionzu bestimmen.
Konstruktoren
ListView.SelectedIndexCollection(ListView) |
Initialisiert eine neue Instanz der ListView.SelectedIndexCollection-Klasse. |
Eigenschaften
Count |
Ruft die Anzahl der Elemente in der Auflistung ab. |
IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist. |
Item[Int32] |
Ruft den Indexwert am angegebenen Index in der Auflistung ab. |
Methoden
Add(Int32) |
Fügt der Auflistung am angegebenen Index im Items-Array das Element hinzu. |
Clear() |
Löscht die Elemente in der Auflistung. |
Contains(Int32) |
Bestimmt, ob der angegebene Index in der Auflistung enthalten ist. |
CopyTo(Array, Int32) |
Kopiert die gesamte Auflistung an eine angegebene Position in einem vorhandenen Array. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetEnumerator() |
Gibt einen Enumerator zurück, mit dem die Auflistung der Indizes ausgewählter Elemente durchlaufen werden kann. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IndexOf(Int32) |
Gibt den Index in der ListView.SelectedIndexCollection des angegebenen Indexes aus der ListView.ListViewItemCollection des ListView-Steuerelements zurück. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Remove(Int32) |
Entfernt das Element am angegebenen Index in der Items-Auflistung aus der ListView.SelectedIndexCollection. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
ICollection.IsSynchronized |
Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert ist (threadsicher). |
ICollection.SyncRoot |
Ruft ein Objekt ab, mit dem der Zugriff auf die Steuerelementauflistung synchronisiert werden kann |
IList.Add(Object) |
Fügt der Auflistung ein Element hinzu. |
IList.Clear() |
Entfernt alle Elemente aus der Auflistung. |
IList.Contains(Object) |
Bestimmt, ob das angegebene Element in der Auflistung enthalten ist. |
IList.IndexOf(Object) |
Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht. Gibt den Index in der ListView.SelectedIndexCollection zurück. Die ListView.SelectedIndexCollection enthält die Indizes ausgewählter Elemente in der ListView.ListViewItemCollection des ListView-Steuerelements. |
IList.Insert(Int32, Object) |
Fügt ein Element am angegebenen Index in die Auflistung ein. |
IList.IsFixedSize |
Ruft einen Wert ab, der angibt, ob das ListView.SelectedIndexCollection eine feste Größe aufweist. |
IList.Item[Int32] |
Ruft ein Objekt in der Auflistung ab oder legt es fest. |
IList.Remove(Object) |
Entfernt das erste Vorkommen eines angegebenen Elements aus der Auflistung. |
IList.RemoveAt(Int32) |
Entfernt ein Element am angegebenen Index aus der Auflistung. |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |