Таймер обратного отсчета на c# с задаваемым временем в TextBox
Мне нужно написать таймер обратного отсчета, но так, чтобы время задавалось в трех текстбоксах: 1) секунды, 2) минуты, 3й) часы. Вот как я пробовал, но таймер как-то слишком медленно секунды отсчитывает. Это все на винформах и нетфреймворк 2.0.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
namespace Timer
{
public partial class Form1 : Form
{
//string time = ("HoursTextBox.text" + ":" + "MinsTextBox.text" + ":" + "SecTextBox");
//int Hours = Convert.ToInt32(HoursTextBox.text);
public Form1()
{
InitializeComponent();
}
private void Min_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
TimeSpan totalTime;
public void TmrStart_Click(object sender, EventArgs e)
{
EnterTime.Text = (HoursTextBox.Text + " " + "Час" + " " + MinsTextBox.Text + " " + "Мин" + " " + SecTextBox.Text + " " + "Сек");
int hoursInt = int.Parse(HoursTextBox.Text);
int minsInt = int.Parse(MinsTextBox.Text);
int secInt = int.Parse(SecTextBox.Text);
totalTime = new TimeSpan(hoursInt, minsInt, secInt, 0);
RestOfTime.Text = $"Оставшееся время: {totalTime.ToString()}";
timer1.Start();
timer1.Interval = (hoursInt * 3600 + minsInt * 60 + secInt);
//EnterTime.Text = (hoursInt * 3600 + minsInt * 60 + secInt);
}
private void timer1_Tick(object sender, EventArgs e)
{
totalTime = totalTime.Subtract(new TimeSpan(0, 0, 0, 1));
RestOfTime.Text = $"Оставшееся время: {totalTime.ToString()}";
if (totalTime.Seconds == 0)
{
timer1.Stop();
MessageBox.Show("Время вышло");
}
}