Compte à rebours après avoir cliqué sur un bouton qui passe de 10 à 0 le texte de réglage sur une étiquette C #

Mon problème est très simple mais je ne peux pas le résoudre, alors j’ai besoin de votre aide.

Le problème est que j’ai un bouton et une étiquette dans un formulaire, je veux simplement cliquer sur le bouton et voir le compte à rebours de l’étiquette de 10 à 0, puis le formulaire se ferme, si simple, quelqu’un peut-il m’aider avec cela?

BTW, ma vraie application est un formulaire qui affiche la vidéo en temps réel depuis ma webcam. L’idée est de cliquer sur le bouton, d’afficher le compte à rebours et, une fois l’opération terminée, l’application enregistre le cadre actuel sous forme d’image.

Merci en conseil!

En utilisant WindowsFormsApplication, vous pouvez le faire comme ceci:

public partial class Form1 : Form { public Form1() { InitializeComponent(); timer1.Enabled = false; // Wait for start timer1.Interval = 1000; // Second i = 10; // Set CountDown Maximum label1.Text = "CountDown: " + i; // Show button1.Text = "Start"; } public int i; private void button1_Click(object sender, EventArgs e) { // Switch Timer On/Off if (timer1.Enabled == true) { timer1.Enabled = false; button1.Text = "Start"; } else if (timer1.Enabled == false) { timer1.Enabled = true; button1.Text = "Stop"; } } private void timer1_Tick(object sender, EventArgs e) { if (i > 0) { i = i - 1; label1.Text = "CountDown: " + i; } else { timer1.Enabled = false; button1.Text = "Start"; } } } 

Vous n’avez besoin que d’une étiquette, d’un bouton et d’une timer.

On dirait que vous avez probablement besoin de trois choses:

  • Un compteur dans votre classe en tant que variable d’instance
  • Une timer ( System.Windows.Forms.Timer ou DispatcherTimer selon le framework d’interface utilisateur que vous utilisez)
  • Une méthode manipulant le Tick du timer même qui décrémente le compteur, met à jour l’interface utilisateur et arrête le timer + prend un instantané si le compteur atteint 0

Vous pouvez faire tout cela sans autre fil.

utilisez ce code. mettez une timer, une étiquette et un bouton.

 public partial class Form1 : Form { public Form1() { InitializeComponent(); timer1.Tick += new EventHandler(timer1_Tick); } private static int i = 10; private void button1_Click(object sender, EventArgs e) { label1.Text = "10"; timer1.Interval = 1000; timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { label1.Text = (i--).ToSsortingng(); if (i < 0) { timer1.Stop(); } } }