ListView.SelectedIndexCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta l'insieme che contiene gli indici degli elementi selezionati in un ListView controllo .
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
- Ereditarietà
-
ListView.SelectedIndexCollection
- Attributi
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come usare i SelectedIndicesmembri , SelectedIndexChangede e HeaderStyle la ListView.SelectedIndexCollection classe . Per eseguire questo esempio, incollare il codice seguente in un modulo contenente un ListView oggetto denominato e un ListView1 oggetto denominato TextBoxTextBox1 . Chiamare il InitializeListView metodo dal costruttore o Load dal gestore eventi del form. Questo esempio richiede che il gestore eventi sia associato correttamente all'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.
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
Commenti
Un ListView.SelectedIndexCollection oggetto archivia gli indici agli elementi selezionati in un ListView controllo . Gli indici archiviati in ListView.SelectedIndexCollection sono posizioni di indice all'interno di ListView.ListViewItemCollection. Archivia ListView.ListViewItemCollection tutti gli elementi visualizzati nel ListView controllo .
Nella tabella seguente viene illustrato un esempio di come archivia ListView.ListViewItemCollection gli elementi di ListView e ne mostra gli stati di selezione in un esempio ListView.
| Indice | Elemento | Stato di selezione in ListView |
|---|---|---|
| 0 | Item1 | Opzione non selezionata |
| 1 | Item2 | Selezionato |
| 2 | Item3 | Opzione non selezionata |
| 3 | Item4 | Selezionato |
| 4 | Item5 | Selezionato |
In base all'esempio ListView.ListViewItemCollection nella tabella precedente, nella tabella seguente viene illustrato come verrebbe visualizzato .ListView.SelectedIndexCollection
| Indice | Indice dell'elemento selezionato in ListViewItemCollection |
|---|---|
| 0 | 1 |
| 1 | 3 |
| 2 | 4 |
È possibile utilizzare le proprietà e i metodi di questa classe per eseguire un'ampia gamma di attività con la raccolta. Il Contains metodo consente di determinare se una posizione di indice da ListView.ListViewItemCollection è uno degli indici archiviati in ListView.SelectedIndexCollection. Dopo aver rilevato che l'elemento si trova nell'insieme, è possibile utilizzare il IndexOf metodo per determinare la posizione dell'indice nell'oggetto ListView.SelectedIndexCollection.
Costruttori
| Nome | Descrizione |
|---|---|
| ListView.SelectedIndexCollection(ListView) |
Inizializza una nuova istanza della classe ListView.SelectedIndexCollection. |
Proprietà
| Nome | Descrizione |
|---|---|
| Count |
Ottiene il numero di elementi nell'insieme. |
| IsReadOnly |
Ottiene un valore che indica se l'insieme è di sola lettura. |
| Item[Int32] |
Ottiene il valore di indice in corrispondenza dell'indice specificato all'interno dell'insieme. |
Metodi
| Nome | Descrizione |
|---|---|
| Add(Int32) |
Aggiunge l'elemento in corrispondenza dell'indice specificato nella Items matrice all'insieme. |
| Clear() |
Cancella gli elementi nella raccolta. |
| Contains(Int32) |
Determina se l'indice specificato si trova nella raccolta. |
| CopyTo(Array, Int32) |
Copia l'intera raccolta in una matrice esistente in una posizione specificata all'interno della matrice. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetEnumerator() |
Restituisce un enumeratore che può essere utilizzato per scorrere l'insieme di indici selezionato. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IndexOf(Int32) |
Restituisce l'indice all'interno ListView.SelectedIndexCollection dell'oggetto dell'indice specificato dall'oggetto ListView.ListViewItemCollection del ListView controllo . |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Remove(Int32) |
Rimuove l'elemento in corrispondenza dell'indice specificato nell'insieme Items dall'oggetto ListView.SelectedIndexCollection. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe). |
| ICollection.SyncRoot |
Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme di controlli. |
| IList.Add(Object) |
Aggiunge un elemento alla raccolta. |
| IList.Clear() |
Rimuove tutti gli elementi dalla raccolta. |
| IList.Contains(Object) |
Determina se l'elemento specificato si trova nella raccolta. |
| IList.IndexOf(Object) |
Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice. Restituisce l'indice nell'oggetto ListView.SelectedIndexCollection. ListView.SelectedIndexCollection Contiene gli indici degli elementi selezionati nel ListView.ListViewItemCollection controllo ListView . |
| IList.Insert(Int32, Object) |
Inserisce un elemento nella raccolta in corrispondenza di un indice specificato. |
| IList.IsFixedSize |
Ottiene un valore che indica se ha ListView.SelectedIndexCollection una dimensione fissa. |
| IList.Item[Int32] |
Ottiene o imposta un oggetto nell'insieme. |
| IList.Remove(Object) |
Rimuove la prima occorrenza di un elemento specificato dall'insieme. |
| IList.RemoveAt(Int32) |
Rimuove un elemento dalla raccolta in corrispondenza di un indice specificato. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AsParallel(IEnumerable) |
Abilita la parallelizzazione di una query. |
| AsQueryable(IEnumerable) |
Converte un IEnumerable in un IQueryable. |
| Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un IEnumerable al tipo specificato. |
| OfType<TResult>(IEnumerable) |
Filtra gli elementi di un IEnumerable in base a un tipo specificato. |