2010-03-24 6 views
0

Je dois récupérer mes données à partir d'un contrôle ListView configuré en mode Détails avec 5 colonnes.Obtention de données à partir de WinForms ListView Control

J'ai essayé en utilisant ce code:

MessageBox.Show(ManageList.SelectedItems(0).Text) 

Et ça marche, mais seulement pour le premier élément sélectionné (point 0). Si j'essaie ceci:

MessageBox.Show(ManageList.SelectedItems(2).Text) 

-je obtenir cette erreur:

InvalidArgument=Value of '2' is not valid for 'index'. Parameter name: index

Je n'ai pas la moindre idée comment je peux résoudre ce problème, aucune aide?

Edit: Désolé, aurait dit, j'utilise Windows.Forms :)

+0

Windows.Forms, désolé. – James

+0

SelectedItems est une collection-- pour vous assurer * toujours * d'obtenir le bon numéro pour fonctionner, vous pouvez utiliser un pour chaque dans la collection; chaque fois que vous codez un index, vous demandez des problèmes; <>) – tobrien

Répondre

0

droite, de ce que je l'ai testé:

Private Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs) 
    For index As Integer = 0 To Me.listView1.SelectedItems.Count - 1 
     MessageBox.Show(Me.listView1.SelectedItems(index).Text) 
    Next 
End Sub 

(articles ajoutés comme ça :)

For i As Integer = 0 To 99 
    Me.listView1.Items.Add(String.Format("test{0}", i)) 
Next 

Cela fonctionne simplement.

Êtes-vous sûr de vouloir sélectionner plus de 1 article? Pourriez-vous s'il vous plaît nous montrer plus de code? :)

+0

Bonjour, J'utilise VB.NET, pas C#. Mais je vais essayer et un peu comment le porter ou quelque chose. Merci pour la réponse :) – James

+0

Je l'ai converti pour vous. – Snake

Questions connexes