IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Focus automatique dans une listview lors d'un SelectedItems


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut Focus automatique dans une listview lors d'un SelectedItems
    Bonjour,

    J'ai un petit problème. J'ai l'impression que lorsque je fais un SelectedItems dans une listview la liste en question est automatiquement en mode focus.

    J'aimerai pouvoir selectionner un élement de ma liste mais rester focus dans une autre. En effet l'élément ne serai pas réelement sélectionné mais j'ai choisi la propriété HideSelection = false donc mon élément reste en surbrillance dans ma liste même lorsqu'elle n'est pas en focus.

    Lorsque je lance mon application un élément est sélectionné dans la première liste puis dans la seconde et enfin on retourne dans la première. Mais visuellement c'est pas terrible de sauter de liste en liste.

    Et j'aimerai savoir comment centrer ma liste sur l'élément sélectionné.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Alors pour le premier problème, je ne vois qu'un appelle à la méthode focus de la première liste après le SelectedItems de la seconde.

    Pour le second, regarde du côté de la méthode ScrollIntoView : http://msdn.microsoft.com/fr-fr/libr...lintoview.aspx
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut
    Pour la 1ère question, c'est ce que j'ai fais mais on voit comme même pendant une demi seconde (le temps du chargement) que la deuxième liste est focus.

    Pour la 2ème, je n'ai pas très bien compris le scroolintoview.

    J'ai fais ça mais ça ne compile pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Lst_Ref.SelectedItems.ScrollIntoView(true);

  4. #4
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Pour la 1° question, je ne pense pas que tu puisse faire mieux. A moins qu'un gourou ne se penche dessus, en tout cas mes compétences s'arrêtent là

    Pour la 2°, en fait, en paramètre de la méthode ScrollIntoView, il faut passer l'item de ta ListView que tu veux afficher. Mais je ne pense pas que ça le centre, cela va juste le rendre visible si il n'est pas visible dans la ListView.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  5. #5
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut
    J'ai l'impression que le ScrollIntoView ne change rien.

    En fait, lorsque je navique dans la liste il se recentre, c'est donc juste pour le premier affichage qu'il y a une souci.

    Sinon après la recherche quand je tape sur la flèche du haut il ne se passe rien et quand je clique sur celle du bas je me retrouve sur la deuxième ligne.
    C'est comme si je me trouvais en haut de la liste alors que l'élément sélectionné se trouve dans le milieu.

    On dirait que mon élément est en surbrillance mais que c'est le premier de la liste qu'il prend en compte.

  6. #6
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Pourrais-tu fournir une démo qui illustre ce problème ?

    Parce que là, juste avec des bouts de code et sans pouvoir tester moi même, je ne peux rien faire de plus.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  7. #7
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut
    J'ai trouvé pour centrer sur l'élément sélectionné d'un DataGridView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Grid.FirstDisplayedScrollingRowIndex = Grid.SelectedRows[0].Index;
    Voila!

    Pour mes problème de décalage j'ai tout changé et ça marche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MVVM] Défilement automatique dans une ListView
    Par em925 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 31/05/2014, 02h14
  2. Focus après un aller-retour dans une ListView
    Par regilait dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 30/08/2011, 23h30
  3. Comment récuperer un élément dans une listview lors d'une sélection
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/04/2007, 02h37
  4. [VB.NET] Objet .Tag dans une ListView
    Par Lois dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/10/2004, 16h35
  5. [VB6] Supprimer un enregistrement dans une ListView ??
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/11/2002, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo