Wpf gestion du temps

Signaler
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008
-
bubbathemaster
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
-
Bijour,
je suis un débutant en wpf
et je suis actuellement entraint de développer un jeu pour mon bts informatique de gestion
Je suis confronté à un problème
je cherche a ce que dés l'éxecution du jeu, des lettres apparaissent dans différents label pendant 10 seconde puis une fois ces dix secondes écoulé elles disparaissent.
Pour ce faire, j'ai d'abord créer des label dans lequel j'assigne des lettres puis je rend les label invisible (lb_lettre1.visibility=visibillity.collapsed;)  
mon soucis c'est que jarive pas a géré le temps
on ma conseiller d'utiliser  un timer ou un thread mais jai du mal a savoir comment les utiliser.
pouvez vous me dire ce que je dois utiliser et surtout comment l'utiliser.

7 réponses

Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

Concernant l'utilisation d'un timer une petite recherche sur google permet de trouver pas mal d'info.

Par exemple : http://www.codeguru.com/csharp/sample_chapter/article.php/c7763/
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008

merci bocoup je regarderai ça et jte tien au courant demin
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008

j ai voulu reutilisé l'exemple present sur cette page comme tu me l'as conseiller



http://www.codeguru.com/csharp/sample_chapter/article.php/c7763/

j ai donc ecrit ce code :
         System.Timers.Timer myTimer = new System.Timers.Timer();



<dir>

myTimer.Elapsed +=new ElapsedEventHandler(myTimer_Elapsed);




myTimer.Interval = 5000;




myTimer.AutoReset = false;




myTimer.Start();
     




<dir>




public void myTimer_Elapsed(object sender, ElapsedEventArgs e)




{




//myTimer.Stop();




lb_case1.Visibility = Visibility.Collapsed;




}

Mais lors de l'execution, il plante lors du changement de visibilit" du label avec le message :
The calling thread cannot access this object because a different thread owns it







comment faire pour regler mon probleme ?

merci


</dir>
</dir>
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
4
Pour faire simple:
CheckForIllegalThreadCalls=false;

Pour faire propre mais infiniment plus chiant:
utiliser des delegates.
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
4
CheckForIllegalCrossThreadCall pardon
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008

merci pour ton aide
mais je t'avou que je ne sais pas comment utiliser le CheckForIllegalCrossThreadCall
pourait tu m'expliquer comment l'utiliser et quel est son principe merci
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
4
Dans le constructeur de ta form, rajoute:

Public Class Form1
{
    InitializeComponents();
    this.CheckForIllegalCrossThreadCall = false;
}