Cómo hacer un cronómetro usando C#
Como actualmente estoy usando conocimientos relevantes de C#, pero antes no tenía la base de C#, aproveché la oportunidad para aprender.
Esta publicación de blog registra el uso de C# para implementar un cronómetro simple. La interfaz básica se muestra a continuación.
Descripción de la función: haga clic en "Iniciar" para iniciar el cronometraje, haga clic en "Pausar" para pausar el cronometraje, haga clic en "Detener" para detener el cronometraje y luego haga clic en "Iniciar" para reiniciar el cronometraje.
Primero, dibujamos la interfaz en la ventana de diseño del formulario, que consta de 1 etiqueta y 3 botones. Agregue evento al hacer doble clic en el botón.
La parte principal se implementa utilizando el objeto de cronómetro Stopwatch and clock Timer.
El código fuente del programa es el siguiente:
usando System;
usando System.Collections.Generic;
usando System.ComponentModel ;
p>usando System.Data;
usando System.Drawing;
usando System.Linq;
usando System.Text ;
usando System.Windows.Forms;
usando System.Diagnostics;
espacio de nombres Ch04Ex04
{
clase parcial pública Form1: Formulario
{
Form1 público()
{
InitializeComponent();
} p>
Tiempo del temporizador = new Timer();
Cronómetro sw; //Objeto cronómetro
TimeSpan ts;
estático int count = 1;
botón de anulación privada1_Click(remitente del objeto, EventArgs e)
{
//Botón de inicio
botón2. Enabled = true;
button3.Enabled = true;
if(button2.Text == "Continue") //Restablece el botón Continuar para pausar después de comenzar
button2.Text = "Pausa";
sw = new Stopwatch();
time.Tick += new EventHandler(time_Tick);//Señal de activación del reloj
p>time.Interval = 1;
sw.Start();
time.Start();
}
void time_Tick (objeto remitente, EventArgs e)
{
ts = sw.Elapsed;
label1.Text = string.Format("{0 }:{1 }:{2}:{3}", ts.Horas, ts.Minutos, ts.Seconds,ts.Millisegundos/10);
}
privado void button3_Click(remitente del objeto, EventArgs e)
{
//Botón de parada de tiempo
sw.Stop();
tiempo .Stop() ;
label1.Text = string.Format("{0}:{1}:{2}:{3}", 0, 0, 0, 0);
}
private void Form1_Load(objeto remitente, EventArgs e)
{
button2.Enabled = false;
button3.Enabled = false;
}
botón anulado privado2_Click(remitente del objeto, EventArgs e)
{<
/p>
if (botón2.Text == "Pausar")
{
//Botón de pausar evento
botón2.Text = "Continuar ";
sw.Stop();
time.Stop();
}
si no (botón2.Texto = = "Continuar")
{
//Continuar evento
button2.Text = "Pausa";
sw.Start( );
hora.Inicio();
}
}
}
}
Los resultados de la operación del cronómetro son como se muestran en la figura.
Siguiente paso: agregue una etiqueta en la esquina inferior izquierda y experimente con la función de pausas múltiples, que puede guardar múltiples resultados intermedios del cronómetro, por ejemplo, al registrar los resultados de carreras de larga distancia de múltiples. estudiantes, el botón de pausa solo registra El cronometraje de los resultados de los estudiantes que han llegado a la línea de meta aún continúa. Esta función no es difícil de implementar, lo que me brinda a mí y a todos la oportunidad de actuar.
------------------------------------------- ----- --------------------------------------------- ----- ----------
El siguiente es el código generado automáticamente por el diseñador del formulario como referencia auxiliar.
#region Código generado por Windows Forms Designer
///
/// Designer admite los métodos requeridos, no
/// Utilice un editor de código para modificar el contenido de este método.
///
private void InitializeComponent()
{
this.button1 = nuevo System.Windows. Forms.Button();
this.button3 = nuevo System.Windows.Forms.Button();
this.label1 = nuevo System.Windows.Forms.Label();
this.button2 = nuevo System.Windows.Forms.Button();
this.SuspendLayout();
//
// botón1
//
este.botón1.Ubicación = nuevo Sistema.Drawing.Point(204, 78);
este.botón1.Nombre = "botón1";
this.button1.Size = nuevo System.Drawing.Size(38, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Inicio";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click) ;
//
// botón3
//
this.button3.Location = new System.Drawing.Point(205 , 163);
this.button3.Name = "button3";
this.button3.Size = nuevo System.Drawing.Size(37, 23);
this.button3.TabIndex = 2;
this.button3.Text = "Detener";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), (( int)(((byte)(224)))));
this.label1.Font = new System.Drawing.Font("宋体", 24F, System.Drawing.FontStyle.Bold, System .Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(30, 33);
this .label1.Name = "etiqueta
l1";
this.label1.Size = nuevo System.Drawing.Size(202, 42);
this.label1.TabIndex = 3;
this.label1.Text = "0:0:0:0";
//
// botón2
//
this.button2.Location = nuevo System.Drawing.Point(205, 122);
this.button2.Name = "button2";
this.button2.Size = nuevo System.Drawing.Size(38, 23);
this.button2.TabIndex = 4;
this.button2.Text = "Pausa";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleDimensions = nuevo System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms. AutoScaleMode.Font;
this.ClientSize = nuevo System.Drawing.Size(284, 262);
this.Controls.Add(this.button2);
this.Controls.Add(this.label1);
this.Controls.Add(this.button3);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.RightToLeftLayout = true;
this.Text = "Cronómetro";
this .Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion