C#应用程序 - this.show()和this.hide()导致应用程序挂起

时间:2011-06-01 10:16:15

标签: c# visual-studio-2008 .net-3.5

我想要从托盘图标运行C# app。基本上它不应该在最小化时显示在任务栏中,但是当双击托盘图标时,应用程序窗口应该显示为正常。

为实现这一目标,我使用的是this.Show()this.Hide(),这正是我想要的。我遇到的问题是,对于某些用户,当显示应用程序时,表单会显示,但是没有任何UI被正确绘制,并且在表单下面打开的任何内容都显示出来。表单变得完全没有响应但我仍然可以通过双击托盘图标来隐藏和显示...

如果我从.Show().Hide()离开,应用程序就会运行而不会给用户带来任何问题。

我正在主线程上执行所有UI并且检查InvokeRequired是双重确定,因为我有worker thread但无法解决此问题。另一点是它不会一直发生,通常只在用户的机器闲置一段时间后才会发生。

我真的很感激任何帮助。这些机器是使用.NET 3.5VS2008

的WinXP

1 个答案:

答案 0 :(得分:0)

你什么时候打电话给这个。显示和这个。隐藏?

您可以比较或尝试http://www.developer.com/net/net/article.php/3336751/C-Tip-Placing-Your-C-Application-in-the-System-Tray.htm

中详述的方法

如果没有正确完成,那么我认为你可能会遇到O / S对表单状态感到困惑的情况,例如,可能认为表单已经显示,因此不会完全重绘。