我决定创建一个仅供我使用的基本计时器,每次点击开始按钮,程序都会完全冻结。我错过了一些明显的东西吗?
namespace Timer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_Start_Click(object sender, EventArgs e)
{
int secs = 0, mins = 0, hours = 0;
for (int num1 = 1; num1 > 0;)
{
txt_secs.Text = secs.ToString() ;
System.Threading.Thread.Sleep(1000);
secs = secs + 1;
if (secs == 60)
{
secs = 0;
mins = mins + 1;
txt_mins.Text = mins.ToString();
}
if (mins == 60)
{
mins = 0;
hours = hours + 1;
txt_hours.Text = hours.ToString();
}
}
}
}
}
答案 0 :(得分:0)
问题出在System.Threading.Sleep()
每Microsoft Documentation个帖子将被暂停。线程处于无限循环中,因此(基本上)将永久挂起。
考虑使用Timers或Stopwatch Class或(如果您需要线程)System.Threading.Timer而不是