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
59
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
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
3
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
59
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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
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
59
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