首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

【Winform】弹出窗口关闭后,原窗口的刷新,怎么设计

2013-04-02 
【Winform】弹出窗口关闭后,原窗口的刷新,如何设计大概意思是这样的public partial class Login : Form{priv

【Winform】弹出窗口关闭后,原窗口的刷新,如何设计
大概意思是这样的


public partial class Login : Form
{
  private void buttonLogin_Click(object sender, EventArgs e)
        {
            MessageForm messageForm = new MessageForm();
            if (messageForm.ShowDialog() == DialogResult.OK)
            {
                //do something
            }
   }
}

1.messageForm.ShowDialog()时,覆盖了原来的窗口画面。
2.弹出窗口关闭后,//do something的执行代码略耗一点时间,需要个几秒才能执行完。
3.原来的窗口界面在弹出窗口关闭后呈卡住状态,不能直接刷新

请问这种情况时,界面设计上应该怎么做比较好?
我试过在//do something之前加上Thread.Sleep(1000)线程暂停,似乎不管用,这个线程暂停并不能让UI获得时间来刷新界面。

是不是只能够把//do something的代码另外开个线程去做,弹出窗口关闭后,主线程接着刷新界面,新开的线程去执行//do something代码。
[解决办法]
在需要刷新界面前加一句Application.DoEvents(),给它一点时间

热点排行