Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Timer évenements [ Windows / Formulaire / Winforms / Controls ] (djissi)

mercredi 2 août 2006 à 09:25:05 | Timer évenements

djissi

Bonjour j'ai un piti problème, dans mon projet, j'utilise une classe afin d'utiliser un timer pour chaque objet . La voici:

using

System;
using System.Windows.Forms;

public
class MaClasse
{
Timer MonTimer;

public MaClasse()
{
this.MonTimer=new Timer();
this.MonTimer.Tick += new System.EventHandler(this.MonTimer_Tick);
}

publicvoid Lancer()
{
MonTimer.Interval= Frequence;
MonTimer.Start();
}

privatevoid MonTimer_Tick(object sender, System.EventArgs e)
{
MessageBox.Show("toto");
}

Le problème est que lorsque j'utilise ma méthode lancer, rien ne se passe, est ce un problème avec mon évenement?

Merci d'avance


mercredi 2 août 2006 à 09:47:00 | Re : Timer évenements

Bidou

Administrateur CodeS-SourceS
Ca devrait marcher.
Petites questions : Que vaut la variable frequence et ou appelles-tu la méthode lancer?



VC# forever

mercredi 2 août 2006 à 09:55:46 | Re : Timer évenements

djissi

j'ai verifier, la variable frequence vaut bien 3000 et ca ne marche toujours pas...

public class MaClasse
{
Timer MonTimer;
int Frequence;

public MaClasse(int F)
{
this.Frequence= F
this
.MonTimer=new Timer();
this.MonTimer.Tick += new System.EventHandler(this.MonTimer_Tick);
}
........


mercredi 2 août 2006 à 10:04:06 | Re : Timer évenements

Bidou

Administrateur CodeS-SourceS
Où et comment appelles-tu la méthode lancer ?



VC# forever

mercredi 2 août 2006 à 10:12:43 | Re : Timer évenements

djissi

private

void Form1_Load( object sender, System.EventArgs e)
{
try
{
T1= new Thread( new ThreadStart(MaMethode));
T1.Start();
}
catch
{}
}

public void MaMethode()
{

for ( int i=0;i<lstObjets.Count;i++)
{
MaClasse Temp = (MaClasse) lstObjets[i];
Temp .Lancer();
}

}

Mais je suis sur que ma methode "Lancer" fonctionne, je lui ai mis un messageBox pour verifier....


mercredi 2 août 2006 à 10:16:07 | Re : Timer évenements

djissi

Ca yest ca marche, mais quand je ne fais pas de thread.

MaMethode()

au lieu de

T1= newThread(newThreadStart(MaMethode));
T1.Start();


je vois pas pourquoi..


mercredi 2 août 2006 à 10:25:53 | Re : Timer évenements

HCJarod

Réponse acceptée !

Ton prblème est simple :

ta méthode MaMethode() instancie des classes (sur ton thread) et se termine => tes objets sont détruient....
il te faut une MaMethode() "bloquante" pour que les objets ne soit pas détruit.

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+


mercredi 2 août 2006 à 10:34:29 | Re : Timer évenements

Bidou

Administrateur CodeS-SourceS
Oui...
Si t'es débutant en programmation, tu t'aventures sur un terrain un peu difficile en commençant avec les threads...



VC# forever <

mercredi 2 août 2006 à 10:42:39 | Re : Timer évenements

MorpionMx

Membre Club Administrateur CodeS-SourceS
Salut

Pour que cela fonctionne, dans un environnement Multi Thread, utilises le Timer de l'espace de nom System.Timers, (si tu veux garder a peu pres la meme syntaxe).
Autrement, tu peux aussi utiliser le Timer de l'espace de nom System.Threading.



Mx
MVP C#
 




Cette discussion est classé dans : problème, timer, system, montimer, tick


Répondre à ce message

Sujets en rapport avec ce message

problème avec un Timer [ par othland ] Salut j'ai un problème avec un Timer: la ligne de code suivante : t.Tick+=new EventHandler(TimerOnTick); me génère l'erreur suivante (sachant que t es Problème de Timer [ par urban45 ] Bonsoir,Voici mon code:timer1.Interval = 1000;timer1.Start();timer1.Tick += new< Erreur dans system.web [ par dark light ] Bonjour à tous,j'ai une erreur de debug que je  dois résoudre le plutot possible..voilà le problème:dans mon device application sous visual studio 200 Problème de Refresh() dans un System.Forms [ par Tsushi ] Bonjour tout le monde.Voila voila j'ai un petit problème sur un form. A l'aide du framework Tao, mes prédecesseurs ont incorporé une fenêtre openGl da Problème création socket UDP [ par Lefoudeboard ] Bonjour,Je souhaite coder un programme c# qui utilise le protocole UDP.Dans mon code, j'ai commencé par créer un socket de la façon suivante:Socket _s Thread + Comprends pas [ par emmanuel9 ] Bonsoir à tous, J'ai un problème avec les threads que je comprends pas, j'ai un timer qui déclenche l'evenement tick toutes les secondes et ce timer problème avec thread jouant un son! [ par othland ] slt tlm;je voulais concevoir un programme qui lance un thread qui lui même surveille l'horloge système pour lancer un son, le problème c'est que quand Problème de timer [ par damiendu56 ] bonjour a tous, Je réalise une application sur laquelle je dois avoir une indication de la date et de l'heure. J'ai donc créé un label lblDate qui es une TypeInitializationException sur SqlConnection [ par sphaxslayer ] Bonjour les pros !Alors voilà, j'ai un problème que je n'arrive pas à élucider malgré des fouilles sur le net et sur les forums Microsoft. Ca a l'air Problème avec System.CodeDom [ par spidey87 ] Bonjour à tous, voilà, j'ai un souci sous Visual Studio 2005 avec l'espace de noms CodeDom que l'EDI ne trouve pas dans System et génère l'erreur de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.