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 6349 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 41
9 févr. 2006 à 22:54
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 févr. 2006 à 23:05
Mouarf, Lutinore, ne recommence pas comme avant hein !! ;-)

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous