winform下:
        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("aa");
            Thread.Sleep(5000);
            MessageBox.Show("bb");
        }
会先弹出"aa",5秒后弹出"bb"
        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "aa";
            Thread.Sleep(5000);
            label2.Text = "bb";
        }
会5秒后弹出窗体,label1为"aa",label2为"bb"
为什么会有区别?

解决方案 »

  1.   

    第一种:会先弹出一个显示"aa"的对话框,等5秒后再显示"bb"的对话框
    第二种:程序运行后,窗体不显示,5秒过后才会把窗体显示出来,这时label1为aa,label为bb
    为什么不是先把窗体显示出来,label1为aa,label2为"",5秒后label2再显示为bb
      

  2.   

    你断点调试下,当你运行到 MessageBox.Show("aa");按F10就会弹出窗体,再运行Thread.Sleep(5000);延时5秒,然后运行 MessageBox.Show("bb");
    下面的同理
    当你延时的时候2种运行都没有把窗体加载完,你明白了麽?