【发布时间】:2014-06-25 09:23:51
【问题描述】:
我在调用的委托方法中有一个 while 循环。我的问题是,当它在 while 循环内时,整个 GUI 被冻结,直到它退出 while 循环。我怎样才能使它不会冻结GUI?谢谢
if (!IsUploadingAvailable())
{
MessageBox.Show("Uploading is not available, please wait until it is ready!", "Upload not available");
myButton.Enabled = false;
while (IsUploadingAvailable())
{
Thread.Sleep(RandomAmountOfTime(10000));
}
MessageBox.Show("Uploading is now available!");
}
【问题讨论】:
-
如果禁用按钮,为什么要执行 Thread.Sleep?
-
这已经被问过了。我确信已经有关于同一主题的问题得到解答。查看 Winforms 关于“不响应”、“BackgroundWorker”等的问题。
标签: c# multithreading winforms ui-thread