单击按钮后Windows 4m崩溃

时间:2017-06-23 20:59:40

标签: c#

我决定创建一个仅供我使用的基本计时器,每次点击开始按钮,程序都会完全冻结。我错过了一些明显的东西吗?

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();
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

问题出在System.Threading.Sleep()

Microsoft Documentation个帖子将被暂停。线程处于无限循环中,因此(基本上)将永久挂起。

考虑使用TimersStopwatch Class或(如果您需要线程)System.Threading.Timer而不是