Wpf gestion du temps

alexternet Messages postés 12 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 4 novembre 2008 - 2 mai 2008 à 22:59
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 - 5 mai 2008 à 17:45
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

cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
2 mai 2008 à 23:14
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/
0
alexternet Messages postés 12 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 4 novembre 2008
2 mai 2008 à 23:45
merci bocoup je regarderai ça et jte tien au courant demin
0
alexternet Messages postés 12 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 4 novembre 2008
3 mai 2008 à 22:20
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>
0
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
4 mai 2008 à 02:14
Pour faire simple:
CheckForIllegalThreadCalls=false;

Pour faire propre mais infiniment plus chiant:
utiliser des delegates.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
4 mai 2008 à 02:20
CheckForIllegalCrossThreadCall pardon
0
alexternet Messages postés 12 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 4 novembre 2008
4 mai 2008 à 21:30
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
0
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
5 mai 2008 à 17:45
Dans le constructeur de ta form, rajoute:

Public Class Form1
{
    InitializeComponents();
    this.CheckForIllegalCrossThreadCall = false;
}
0
Rejoignez-nous