Synchroniser l'index d'un listbox et d'un listview

pcpunch
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
- 18 févr. 2019 à 12:48
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
- 18 févr. 2019 à 14:18
Bonjour je voudrais Synchroniser l'index d'un listbox et d'un listview lors du clic :

Pour le clic sur le listview pas de problème :
Private Sub ListView1_Click(sender As Object, e As EventArgs) Handles ListView1.Click
'Synchronisation avec le listbox
ListBox1.SelectedIndex = ListView1.SelectedItems.Item(0).Index

End Sub


Par contre pour le clic sur la listbox ???:
 Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
'Synchronisation avec le listview

End Sub

2 réponses

cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129
18 févr. 2019 à 13:04
Bonjour,

voir ceci pour avoir l'index cliqué de la ListBox :

https://plasserre.developpez.com/cours/vb-net/?page=ui-winforms3#LVIII-H-1-i

0
pcpunch
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
18 févr. 2019 à 13:08
Merci mais le probléme n'est pas de recuperer l'index de la listbox, mais de l'attribuer a la listview !
0
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129
Modifié le 18 févr. 2019 à 14:19
comme ceci:

 Private Sub ListBox1_Click(sender As Object, e As System.EventArgs) Handles ListBox1.Click
        Dim n As Integer
        n = ListBox1.SelectedIndex
        ListView1.Focus()
        ListView1.Items(n).Focused = True
        ListView1.Items(n).Selected = True
    End Sub


Voilà

@+
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
Modifié le 18 févr. 2019 à 13:19
Bonjour
Listview.Items(n).Selected = true ‘avec n égal à l’index

Par contre, par défaut dans une listview, si le contrôle n’a pas le focus, in ne voit pas quel item est sélectionné.
Il faut changer la propriété HideSelection à false
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
18 févr. 2019 à 13:19
Ps pour utliser correctement les balises de code voir ce lien https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
pcpunch
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
18 févr. 2019 à 13:25
Le probléme c'est que la selection est grisé et ne ressemble pas du tout a la selection de listbox
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
Modifié le 18 févr. 2019 à 13:31
Juste pour vérifier (je ne fais plus de winform depuis un moment et à l’époque déjà la listview m’exaspérait), pose un contrôle clickable quelconque (button, checkbox, textbox...)
Sélectionne un item dans la listeview et ensuite clique sur le contrôle
0