Timer/chronomètre c# visual form
scoutantho
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
scoutantho Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
scoutantho Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voulant créer un chronomètre pour le plaisir, et pour une utilité particulière, j'ai regardé deux vidéos : https://www.youtube.com/watch?v=bglYDCdoBCg et https://www.youtube.com/watch?v=PaOZhilQNQM
cependant, la première se base sur l'heure actuelle donc aucun problème pour actualisé le temps et la seconde son chrono va beaucoup trop vite, j'ai donc chercher à taton le bon "temps" pour passer la prochaine seconde, ma conclusion à été de 16, mon code ci dessous :
voilà, j'aurais donc aimé savoir si quelqu'un sais quelque chose sur ce problème et aurais une solution
Et je voudrais pouvoir démarrer un timer, donc sur une valeur entrée par l'utilisateur, mais celle ci doit-elle se trouver en millisecondes ?
merci d'avance, bonne soirée/ journée
voulant créer un chronomètre pour le plaisir, et pour une utilité particulière, j'ai regardé deux vidéos : https://www.youtube.com/watch?v=bglYDCdoBCg et https://www.youtube.com/watch?v=PaOZhilQNQM
cependant, la première se base sur l'heure actuelle donc aucun problème pour actualisé le temps et la seconde son chrono va beaucoup trop vite, j'ai donc chercher à taton le bon "temps" pour passer la prochaine seconde, ma conclusion à été de 16, mon code ci dessous :
public Form1() { InitializeComponent(); } int min, sec,ms = 0; [/download/telecharger-34089700-timer Timer] timer1 = new Timer(); private void timer1_Tick(object sender, EventArgs e) { //timer ms++; <bold> if (ms > 16) { sec++; ms = 0; }</bold> else ms++; if (sec > 60) { min++; sec = 0; } //affichage string temps = ""; if (min < 10) { temps += "0" + min; } else { temps += min; } temps += ":"; if (sec < 10) { temps += "0" + sec; } else { temps += sec; } temps += ":"+ms.ToString(); label1.Text = temps; } private void button1_Click(object sender, EventArgs e) { timer1.Interval = 100; timer1.Tick += new EventHandler(this.timer1_Tick); timer1.Start(); }
voilà, j'aurais donc aimé savoir si quelqu'un sais quelque chose sur ce problème et aurais une solution
Et je voudrais pouvoir démarrer un timer, donc sur une valeur entrée par l'utilisateur, mais celle ci doit-elle se trouver en millisecondes ?
merci d'avance, bonne soirée/ journée
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Chronometre en c
- Télécharger chronomètre powerpoint - Télécharger - Présentation
- Chronometre contraction - Télécharger - Santé & Bien-être
- Multi chronomètre - Télécharger - Bureautique
- Telecharger chronometre pc - Télécharger - Personnalisation
- Chronomètre pc plein écran - Télécharger - Sport
3 réponses
Bonsoir,
le tuto vidéo n'est pas adapté à la programmation, 5 minutes 30 pour 5 lignes de codes que tu ne peux même pas copier coller pour essayer....
Cela étant dit, pour mesurer le temps iil y a tout d'abord la classe DateTime qui comme son nom l'indique offre des outils sur la date et l'heure, ensuite il y a le TimeSpan qui est un intervalle, par exemple la soustraction de 2 DateTime est un TimeSpan, et enfin il y a la classe Stopwatch qui est un chronomètre.
le tuto vidéo n'est pas adapté à la programmation, 5 minutes 30 pour 5 lignes de codes que tu ne peux même pas copier coller pour essayer....
Cela étant dit, pour mesurer le temps iil y a tout d'abord la classe DateTime qui comme son nom l'indique offre des outils sur la date et l'heure, ensuite il y a le TimeSpan qui est un intervalle, par exemple la soustraction de 2 DateTime est un TimeSpan, et enfin il y a la classe Stopwatch qui est un chronomètre.
scoutantho
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
j'ai regardé les 3 classes, mais je n'ai pas réellement réussi à appliquer ce que je voulais faire, tout d'abord je voudrais seulement travailler sur des minutes et des secondes à partir de 00:00 ou d'une valeur prédéfinie par l'utilisateur et je n'arrive pas à le faire avec datetime quand au stopwatch, je n'arrive pas à afficher un chrono et encore moins à faire un "beep" par exemple 3 secondes apres le début du code car la stopwatch débute des que le .start est lancé et comptes aussi le temps d'execution du code
DateTime et TimeSpan sont des classes de bases du c#, je pense qu'il serait judicieux que tu apprennes donc les bases de ce langage d'abord...
https://tahe.developpez.com/dotnet/csharp/
https://tahe.developpez.com/dotnet/csharp/
Bonjour,
Un principe de ce forum est d'essayer de faire progresser le demandeur, donner une solution toute faite, surtout quand elle simple contrevient à ce principe.
En premier lieu je t'ai dit de t'intéresser aux classe DateTime et TimeSpan et au fait que la soustraction de 2 DateTime donne un TimeSpan
Le TimeSpan dispose de propriétés pour récupérer les différentes parties de temps dont tu as besoin.
La méthode ToString permet de retourner un string du type "hh:mm:ss", tu peux modifier le format comme expliqué ici
https://stackoverflow.com/questions/12673194/convert-timespan-from-format-hhmmss-to-hhmm
Note que la syntaxe n'est pas la même pour les DateTime
https://docs.microsoft.com/fr-fr/dotnet/standard/base-types/custom-date-and-time-format-strings?redirectedfrom=MSDN
Un principe de ce forum est d'essayer de faire progresser le demandeur, donner une solution toute faite, surtout quand elle simple contrevient à ce principe.
En premier lieu je t'ai dit de t'intéresser aux classe DateTime et TimeSpan et au fait que la soustraction de 2 DateTime donne un TimeSpan
DateTime debut;//portée sur la classe de ton chronomètre //dans la méhode de démarrage debut = DateTime.Now; monTimer.Start(); //dans la méthode abonnées à l'événement Tick du timer TimeSpan duree = DateTime.Now-debut;
Le TimeSpan dispose de propriétés pour récupérer les différentes parties de temps dont tu as besoin.
La méthode ToString permet de retourner un string du type "hh:mm:ss", tu peux modifier le format comme expliqué ici
https://stackoverflow.com/questions/12673194/convert-timespan-from-format-hhmmss-to-hhmm
Note que la syntaxe n'est pas la même pour les DateTime
https://docs.microsoft.com/fr-fr/dotnet/standard/base-types/custom-date-and-time-format-strings?redirectedfrom=MSDN