日期:2014-05-18  浏览次数:20729 次

C#线程问题
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 "
为什么会有区别?

------解决方案--------------------
不明白楼上说是什么区别。
------解决方案--------------------
本来就是这样的啊。
LZ想达到什么样的目的?
------解决方案--------------------
没明白啊....没明白.
------解决方案--------------------
你断点调试下,当你运行到 MessageBox.Show( "aa ");按F10就会弹出窗体,再运行Thread.Sleep(5000);延时5秒,然后运行 MessageBox.Show( "bb ");
下面的同理
当你延时的时候2种运行都没有把窗体加载完,你明白了麽?