我做了一個簡單的倒數計時器,但當我在文本框上輸入0 : 0 : 0
時,計時器進入負數-1 : 59 : 59
。我曾經嘗試輸入0 : 0 : 1
和計時器停在0 : 0 : 0
和消息框出現在屏幕倒數計時器進入負數(00:00:00)
我已經嘗試過這種代碼,以防止負值上,但它停在-1 : 59 : 58
if (label1.Text == "-1")
{
timer1.Stop()
}
嘗試這種代碼,但它停在-1 : 59 : 59
if (h < 0)
{
timer1.Stop();
}
這裏是代碼
namespace Timer
{
public partial class Form1 : Form
{
int h;
int m;
int s;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
textBox1.Text = "0";
}
if (textBox2.Text == "")
{
textBox2.Text = "0";
}
if (textBox3.Text == "")
{
textBox3.Text = "0";
}
h = Convert.ToInt32(textBox1.Text);
m = Convert.ToInt32(textBox2.Text);
s = Convert.ToInt32(textBox3.Text);
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
s = s - 1;
if(s == -1)
{
m = m - 1;
s = 59;
}
if (m == -1)
{
h = h - 1;
m = 59;
}
if (h == 0 && m == 0 && s == 0)
{
timer1.Stop();
MessageBox.Show("Times up!", "Time");
}
string hh = Convert.ToString(h);
string mm = Convert.ToString(m);
string ss = Convert.ToString(s);
label1.Text = hh;
label2.Text = mm;
label3.Text = ss;
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}
}
}
您是否嘗試過使用調試器來查看發生了什麼 – pm100
您是否已經通過代碼瞭解發生了什麼?代碼完全按照你所說的去做 - 逐步觀察,你會看到。 – Tim
線索 - 錯誤位於刻度處理程序的第一行 – pm100