Thread time [Résolu]

Signaler
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour à tous,

j'ai un petit problème pour mettre à jour l'heure dans mon IHM mais je ne comprend pas d'oû sa peux venir:





Thread myThread;

myThread = new Thread(new ThreadStart(ThreadLoop));

myThread.Start();



voici un peu plus haut la fonction ThreadLoop:

private void ThreadLoop()//fonction appeler pour le thread de l'heure

{

Label label1 = new System.Windows.Forms.Label();

label1.AutoSize = true;


label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
((byte)(0)));

label1.Location = new System.Drawing.Point(43, 47);

label1.Name = "label1";

label1.Size = new System.Drawing.Size(51, 16);

label1.TabIndex = 6;

label1.Show();

// Tant que le thread n'est pas tué, on travaille

while (Thread.CurrentThread.IsAlive)

{

// Attente de 1000 ms

//Thread.Sleep(1000);



//on actualise l'heure courante


label1.Text = DateTime.Now.ToLongTimeString();

}

}



Merci d'avance pour votre aide

4 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
90
Salut,

Pour être visible, un contrôle doit être ajouté dans la collection de contrôle d'un contrôle de plus haut niveau (Form, UserCOntrol, Panel, etc)
De plus c'est une très mauvaise idée de crée le contrôle dans un autre thread que celui de l'interface graphique.
Et dernière chose : pour ce genre de tâche, utilise plutôt un timer, ça sera largement suffisant et t'éviteras de mettre en oeuvre les techniques d'appels cross-thread nécessaire pour changer l'affichage du label.

/*
coq
MVP Visual C#
*/
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006

thank you :)
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
90
Mouarf, Lutinore, ne recommence pas comme avant hein !! ;-)

/*
coq
MVP Visual C#
*/