我编写了一个C#桌面应用程序,当我等待特定事件时(如下所示循环...
while (tf.Exists)
{
System.Threading.Thread.Sleep(100);
System.Windows.Forms.Application.DoEvents();
}
我可以处理我的应用程序并将其最小化,但我无法恢复它。 有时我会通过用我的鼠标按钮疯狂地点击来恢复它,同时在我的呼吸下诅咒诅咒,但是大多数情况下它不会恢复。 有谁知道我在循环中做错了什么?
谢谢,
格雷格
答案 0 :(得分:2)
如果不知道这段代码是如何开始的话,这是不可能的。无论如何你永远不想这样做,它允许用户关闭你的主窗口。现在你的循环仍在运行但没有用户界面。
请改用计时器。对Tick事件执行检查。
答案 1 :(得分:1)
不是轮询和调用DoEvents
,这很少是一种有效的方法,而是安排感兴趣的事件向您发送消息或发起事件。