Download d'images sans bloquer mon form

phkoech Messages postés 23 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 13 septembre 2007 - 8 juin 2007 à 21:24
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011 - 16 juin 2007 à 01:05
Bonjour tout le monde,
En vb.net,  j'ai un formulaire avec des images que je downloade en dynamique, dans une listview, à la construction de mon formulaire.
Le problème est que l'affichage de mon formulaire est bloqué tant que toutes les images n'ont pas été téléchargées, ce qui peut être long.
J'ai essayé de mettre un thread, en parallèle de mon formulaire, qui télécharge mes images et les mets à jour sur le formulaire. Mais ça ne marche pas car j'ai un message d'erreur qui me dit que le thread n'a pas accès à la listview de mon formulaire.
Savez-vous comment faire en sorte de ne pas avoir à attendre le téléchargement de toutes les images avant d'afficher le form (comme ça se fait sur internet, quoi) ?

3 réponses

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
8 juin 2007 à 21:39
Salut,
j'ai fait une classe de téléchargement, dont l'utilisation est basé sur un systeme evenementiel, donc non bloquant durant le téléchargement.
ce qui doit permettre repondre à ton problème :
http://www.vbfrance.com/codes/NET2-CLASSE-TELECHARGEMENT-HTTP-AVEC-GESTION-RESUME-PROGRESSION_41850.aspx
(Il y a un exemple dans le zip.)

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
8 juin 2007 à 21:46
Ou sinon, renseigne toi sur la methode des controles Invoke, qui permet d'effectuer une synchronisation inter-thread, pour accéder aux controles d'une form.

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
0
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011
16 juin 2007 à 01:05
sinon ya le "BeginInvoke" pour l'asynchrone a al place du "Invoke"
cela dit dans ton cas j'utiliserai un thread (System.threading.Thread) la doc MSDN est TRES documenté pour cette classe normalement tu devrait tout trouvé si tu lit

TeBeCo
0