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 :

Chargement différé d'un ListView


Sujet :

Windows Forms

  1. #1
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut Chargement différé d'un ListView


    Je souhaite réalisé un chargement différent dans un ListView car l'obtention des images n'est pas instantané et peut prendre jusqu'à plusieurs secondes. J'aurai donc aimé pouvoir le faire comme l'explorateur Windows qui charge d'abord tous les items de la ListView, puis qui au fur et à mesure met à jour les différentes images des éléments (qui sont déjà affichés ceci dit).

    Comment réaliser ce comportement ?
    Merci d'avance ...

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Essais de fixer la propriété ListView.OwnerDraw à true pour informer le system que tu veux dessiner les éléments de la ListView toi même.
    Intercepte l'événement ListView.DrawItem qui sera déclenché chaque fois qu'un Item a besoin d'être dessiné ou mis à jour.
    Dans l'événement ListView.DrawItem, tu peux fixer l'image voulu pour l'élément à dessiner et demander au system de dessiner l'élément lui même en affectant true à DrawListViewItemEventArgs.DrawDefault.
    De cette façon, tu traite seul les Items qui s'affiche dans la ListView un par un ou page par page etc.

  3. #3
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tu m'as mis sur la voie, mais on n'est même pas obligé de faire tout ça.
    Au final on peux charger la liste d'images, et mettre à jour les ImageIndex de chaque ListViewItem en actualisant son affichage avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    laListView.Invalidate(laListView.GetItemRect(laListView.Items.IndexOf(zeItem)))

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

Discussions similaires

  1. Chargement progressif d'une ListView
    Par Yolteotl dans le forum Composants graphiques
    Réponses: 10
    Dernier message: 03/02/2017, 15h57
  2. [API Win 32] Pb chargement de ToolTips sur ListView
    Par dede92 dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2011, 12h05
  3. Intérêt du chargement différé des DLL
    Par ram-0000 dans le forum Windows
    Réponses: 6
    Dernier message: 10/09/2010, 14h10
  4. Treeview avec chargement différé
    Par titanblanc dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 22/06/2010, 11h52
  5. [POO] tabs onglet et chargement différé
    Par samtheh dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 19/03/2009, 13h22

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