Mise à jour fenêtre Windows [Résolu]

Signaler
Messages postés
15
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
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

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Je te conseille de lire cet article sur le cross-threading, il est très instructif.

<hr size="2" />VC# forever
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
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;

        }


Messages postés
15
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
20 mars 2007

je m'y met, merci !
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
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.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Et en plus en ce moment il est linké au moins une fois par semaine sur le forum ;-)

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Le tuto est bien fait, on va se priver de faire un peu de pub ;-)

<hr size="2" />VC# forever