ListView.SelectedIndexCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la collection qui contient les index des éléments sélectionnés dans un ListView contrôle.
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
- Héritage
-
ListView.SelectedIndexCollection
- Attributs
- Implémente
Exemples
L’exemple de code suivant montre comment utiliser les membres SelectedIndexChangedet HeaderStyle les SelectedIndicesmembres et la ListView.SelectedIndexCollection classe. Pour exécuter cet exemple, collez le code suivant dans un formulaire qui contient un ListView objet nommé ListView1 et un TextBox nommé TextBox1. Appelez la InitializeListView méthode à partir du constructeur ou Load du gestionnaire d’événements du formulaire. Cet exemple nécessite que le gestionnaire d’événements soit correctement associé à l’événement 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
Remarques
A ListView.SelectedIndexCollection stocke les index sur les éléments sélectionnés dans un ListView contrôle. Les index stockés dans les ListView.SelectedIndexCollection positions d’index sont dans le ListView.ListViewItemCollection. Le ListView.ListViewItemCollection contrôle stocke tous les éléments affichés.ListView
Le tableau suivant montre un exemple de la façon dont les ListView.ListViewItemCollection éléments des éléments sont stockées et affiche leurs états de ListView sélection dans un exemple ListView.
| Index | Élément | État de sélection dans ListView |
|---|---|---|
| 0 | Élément1 | Non sélectionné |
| 1 | Élément2 | Sélectionné |
| 2 | Élément3 | Non sélectionné |
| 3 | Item4 | Sélectionné |
| 4 | Élément5 | Sélectionné |
En fonction de l’exemple ListView.ListViewItemCollection du tableau précédent, le tableau suivant montre comment l’afficher ListView.SelectedIndexCollection .
| Index | Index de l’élément sélectionné dans ListViewItemCollection |
|---|---|
| 0 | 1 |
| 1 | 3 |
| 2 | 4 |
Vous pouvez utiliser les propriétés et méthodes de cette classe pour effectuer diverses tâches avec la collection. La Contains méthode vous permet de déterminer si une position d’index à partir de l’index ListView.ListViewItemCollection est l’un des index stockés dans le ListView.SelectedIndexCollection. Une fois que vous savez que l’élément se trouve dans la collection, vous pouvez utiliser la IndexOf méthode pour déterminer la position de l’index dans le ListView.SelectedIndexCollection.
Constructeurs
| Nom | Description |
|---|---|
| ListView.SelectedIndexCollection(ListView) |
Initialise une nouvelle instance de la classe ListView.SelectedIndexCollection. |
Propriétés
| Nom | Description |
|---|---|
| Count |
Obtient le nombre d'éléments dans la collection. |
| IsReadOnly |
Obtient une valeur indiquant si la collection est en lecture seule. |
| Item[Int32] |
Obtient la valeur d’index à l’index spécifié dans la collection. |
Méthodes
| Nom | Description |
|---|---|
| Add(Int32) |
Ajoute l’élément à l’index spécifié dans le Items tableau à la collection. |
| Clear() |
Efface les éléments de la collection. |
| Contains(Int32) |
Détermine si l’index spécifié se trouve dans la collection. |
| CopyTo(Array, Int32) |
Copie l’intégralité de la collection dans un tableau existant à un emplacement spécifié dans le tableau. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetEnumerator() |
Retourne un énumérateur qui peut être utilisé pour itérer dans la collection d’index sélectionnée. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| IndexOf(Int32) |
Retourne l’index dans l’index ListView.SelectedIndexCollection spécifié à partir ListView.ListViewItemCollection du ListView contrôle. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| Remove(Int32) |
Supprime l’élément à l’index spécifié dans la Items collection du ListView.SelectedIndexCollection. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| ICollection.IsSynchronized |
Obtient une valeur indiquant si l’accès à la collection est synchronisé (thread safe). |
| ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à la collection de contrôles. |
| IList.Add(Object) |
Ajoute un élément à la collection. |
| IList.Clear() |
Supprime tous les éléments de la collection. |
| IList.Contains(Object) |
Détermine si l’élément spécifié se trouve dans la collection. |
| IList.IndexOf(Object) |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Retourne l’index dans le ListView.SelectedIndexCollectionfichier . Contient ListView.SelectedIndexCollection les index des éléments sélectionnés dans le ListView.ListViewItemCollectionListView contrôle. |
| IList.Insert(Int32, Object) |
Insère un élément dans la collection à un index spécifié. |
| IList.IsFixedSize |
Obtient une valeur indiquant si la ListView.SelectedIndexCollection taille est fixe. |
| IList.Item[Int32] |
Obtient ou définit un objet dans la collection. |
| IList.Remove(Object) |
Supprime la première occurrence d’un élément spécifié de la collection. |
| IList.RemoveAt(Int32) |
Supprime un élément de la collection à un index spécifié. |
Méthodes d’extension
| Nom | Description |
|---|---|
| AsParallel(IEnumerable) |
Active la parallélisation d’une requête. |
| AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
| Cast<TResult>(IEnumerable) |
Convertit les éléments d’un IEnumerable en type spécifié. |
| OfType<TResult>(IEnumerable) |
Filtre les éléments d’une IEnumerable en fonction d’un type spécifié. |