Mise à jour fenêtre Windows

Résolu
abyssub1000 Messages postés 15 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 20 mars 2007 - 21 sept. 2006 à 16:47
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 22 sept. 2006 à 21:43
Bonjour,

Je réalise actuellement une application sous Visual Studio 2005, en projet Form1. J'ai réussi à créer des Threads pour exécuter des fonctions parallèles. Mais j'aimerais afficher dans
la fenêtre principale le résultat de ces Threads et que la fenêtre soit donc mise à jour. Mon Thread communique avec mon programme principal sans porblème (il me renvoie l'état) il ne manque plus que l'affichage...

J'espère avoir été assez clair. Merci pour vos futures réponses !

7 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 sept. 2006 à 17:55
Je te conseille de lire cet article sur le cross-threading, il est très instructif.

<hr size="2" />VC# forever
3
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
21 sept. 2006 à 17:47
Utilises la méthode Invoke de ton control : celle-ci prend un argument un delegate.
Soit j'ai fait un exemple il n'y a pas longtemps :

        private delegate void InvokeControl( string text);
        private InvokeControl invokeControl;



        private void Form1_Load(object sender, EventArgs e)
        {

            invokeControl = ModifyLabel;

            Thread thd = new Thread(new ThreadStart(LaunchTread));
            thd.Start();           

        }

        private void LaunchTread()
        {
            
            for ( int i = 0 ; i < Int32.MaxValue ; i++)
            {
                label1.Invoke(invokeControl, i.ToString());

                Thread.Sleep(300);
            }
        }

        private void ModifyLabel(string text)
        {
            label1.Text = text;

        }


0
abyssub1000 Messages postés 15 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 20 mars 2007
21 sept. 2006 à 18:27
je m'y met, merci !
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
22 sept. 2006 à 09:23
Je vais devenir fou, j'ai cherché ce genre de chose pendant une journée.
J'ai cherché partout sur ce site, sauf dans les tutoriaux , vu que pas mal de personnes font des tutoriaux dans les sources, j'avais oublié cette rubrique.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
22 sept. 2006 à 09:31
fregolo> Tu as mal du regarder dans ce cas, il y a pas exemple cette source (en plus, c'est le même auteur; il doit aimer ça notre ami Mx  ).

<hr size="2" />VC# forever
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 sept. 2006 à 21:17
Et en plus en ce moment il est linké au moins une fois par semaine sur le forum ;-)

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
22 sept. 2006 à 21:43
Le tuto est bien fait, on va se priver de faire un peu de pub ;-)

<hr size="2" />VC# forever
0
Rejoignez-nous