Problème de sélection d'une ligne d'un listview avec le code

Résolu
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 25 févr. 2007 à 10:36
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 1 mars 2007 à 06:28
Salut,

Mon souci est que je n'arrive pas à sélectionner une ligne de mon listview avec le code. J'y arrive très bien en faisant dans la procédure : Form_Load en faisant ListView1.Items(0).Selected=True pour sélectionner la première ligne.

Mais quand je clique sur le bouton 'suivant' pour sélectionner la ligne suivante, voici la procédure du bouton :
 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ListView1.Items(nb).Selected = False
        nb = nb + 1
        ListView1.Items(nb).Selected = True
End Sub, ----

(Coloration syntaxique automatique par Kenji)

Mais ca ne fonctionne pas, il me déselectionne la ligne qui été sélectionnée mais ne sélectionne pas la suivante

Est ce que quelqu'un sait comment résoudre le problème ? Merci

4 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
25 févr. 2007 à 14:22
Salut,

J'ai trouvé la solution, voici ce qu'il fallait faire :

ListView1.Items(ListView1.SelectedIndices(0) + 1).Selected = True
ListView1.Focus()

Merci à jmfmarques qui m'as mis sur la voie.
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
25 févr. 2007 à 10:48
Si c'est comme avec VB6 (et je le pense) et en admettant qu'un item soit déjà sélectionné, voilà ce qui sélectionne le suivant (pas besoin de nb) 

ListView1.SelectedItem = ListView1.ListItems(ListView1.SelectedItem + 1)
 ListView1.SetFocus

Il est maintenant clair que la sélection ne sera "vue" qu'au setFocus
0
ar_amine Messages postés 4 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 2 mars 2012
28 févr. 2007 à 16:26
amine


merci

ça ma vraiment m'aidé pour séléctionnez toutes les lignes d'une listview.
pour les funs , je vous propose le code pour séléctionnez les lignes d'une listview.


For count
As
Integer = 0
To Listview1.Items.Count - 1


Listview1.Items(count).Selected = True







Listview1.Focus()


Next
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
1 mars 2007 à 06:28
Je tiens une petite précision sur le code proposé de ar_amine qu'il faut que la propriété MultiSelect de la ListView soit à True pour que celui ci fonctionne.
0
Rejoignez-nous