Listview : selectionner un item

Soyez le premier à donner votre avis sur cette source.

Snippet vu 41 599 fois - Téléchargée 35 fois

Contenu du snippet

Compact Framework, n'intégrant pas toutes les fonctionnalités de la version PC, j'ai galéré un peu pour trouver comment sélectionner et afficher un item dans une listview
L'exemple suivant active le premier item (N°0) d'une listview(génére l'évenement SelectedIndexChanged). cela permet d'initialiser un programme, avec une valeur par défaut dans une listview.

Source / Exemple :


Public Sub InitListView(ByRef lvwView As System.Windows.Forms.ListView)
        lvwView.Focus()
        lvwView.Items.Item(0).Focused = True
        lvwView.Items.Item(0).Selected = True
    End Sub

Conclusion :


L'astuce réside dans le fait que le contrôle et l'item doivent avoir le focus pour être sélectionnés

A voir également

Ajouter un commentaire

Commentaires

Messages postés
21
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
16 avril 2009

trop génial comme solution, exactement ce dont j'avais besoin...encore mille fois bravo à toi !!
Messages postés
2
Date d'inscription
mercredi 6 juillet 2005
Statut
Membre
Dernière intervention
15 septembre 2006

Super - ca marche tres bien .
Par contre, s'il y a plusieurs lignes dans le listview comment peut-on effectuer un scroll automatique jusqu'a la ligne selectionee ?
Merci encore.
Messages postés
24
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
23 décembre 2010

Merci bon astuce, je l'ai utiliser dans le vb.net, il marche très bien
Messages postés
4
Date d'inscription
jeudi 8 décembre 2005
Statut
Membre
Dernière intervention
12 mai 2006

bien reçu,
c est exactement comme je fais

merci,
Messages postés
630
Date d'inscription
samedi 15 février 2003
Statut
Modérateur
Dernière intervention
9 octobre 2011

Il est possible que le 1 er click te permet de donner le focus à ton contrôle. Tout dépend de ton utilisation de ce contrôle, personnellement il à le focus par défaut.
Sinon une fois la ligne sélectionnée avec l'évenement .SelectedIndexChanged
cela peut donner

Private Sub MaListeView_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MaListeView.SelectedIndexChanged
With MaListeView
If .SelectedIndices.Count > 0 Then
.Items(.SelectedIndices(0)).Selected = True
Item1.Text = .Items(.SelectedIndices(0)).SubItems(0).Text
Item2.Text = CInt(.Items(.SelectedIndices(0)).SubItems(1).Text)
Item3.Text = CInt(.Items(.SelectedIndices(0)).SubItems(2).Text)
End If
End With
End Sub
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.