我最小化它时无法恢复应用程序

时间:2011-06-18 15:47:58

标签: c# while-loop

我编写了一个C#桌面应用程序,当我等待特定事件时(如下所示循环...

while (tf.Exists)
{
    System.Threading.Thread.Sleep(100);
    System.Windows.Forms.Application.DoEvents();
}

我可以处理我的应用程序并将其最小化,但我无法恢复它。 有时我会通过用我的鼠标按钮疯狂地点击来恢复它,同时在我的呼吸下诅咒诅咒,但是大多数情况下它不会恢复。 有谁知道我在循环中做错了什么?

谢谢,

格雷格

2 个答案:

答案 0 :(得分:2)

如果不知道这段代码是如何开始的话,这是不可能的。无论如何你永远不想这样做,它允许用户关闭你的主窗口。现在你的循环仍在运行但没有用户界面。

请改用计时器。对Tick事件执行检查。

答案 1 :(得分:1)

不是轮询和调用DoEvents,这很少是一种有效的方法,而是安排感兴趣的事件向您发送消息或发起事件。