Thread time

Résolu
SfyLer
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006
- 9 févr. 2006 à 22:45
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
- 9 févr. 2006 à 23:05
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

Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
27 octobre 2012
42
9 févr. 2006 à 22:54
3
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
9 févr. 2006 à 22:57
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#
*/
3
SfyLer
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006

9 févr. 2006 à 23:00
thank you :)
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
9 févr. 2006 à 23:05
Mouarf, Lutinore, ne recommence pas comme avant hein !! ;-)

/*
coq
MVP Visual C#
*/
0