2

总之,我已经完成了 MDI WinForm 应用程序的一半,并且已经开始在几台不同的机器上测试我们迄今为止所拥有的东西,我在所有机器上都发现了以下错误(运行 Windows 7/Vista)。该错误与 TaskBar 和其中应用程序的可见活动状态有关。使用图像会更容易:

A. 我将鼠标悬停在准备启动的任务栏上。

将鼠标悬停在应用程序图标上(鼠标未显示)

B. 我点击应用程序,它启动没有问题并显示在任务栏中 - 到目前为止一切都很好。

启动没有问题

C. 等待大约三秒钟,图标逐渐消失到不活动状态,所以当我点击它时,它会启动我的应用程序的另一个实例,而不是恢复我刚刚打开的那个!?一旦我点击表格并最小化然后恢复表格,这个问题就消失了!?

任务栏上的活动图标死亡

这很奇怪,我不知道如何解决它。这也体现在使用 .exe 文件启动应用程序时,在您单击应用程序主窗体之前,任务栏根本不会显示。我真的很难过。如果有人对这里可能发生的事情有任何想法,那将不胜感激?谢谢你的时间。

笔记。我已将问题缩小到在其他开放表单后面启动的表单。我this.TopLevel = true;在表单Shown事件等中使用了相关选项,但似乎没有任何效果......

4

2 回答 2

2

我看到了一个类似的问题,即应用程序在首次启动时不会获得焦点,并且在您单击它以激活主窗体之前不会显示在 Windows 7 任务栏中。

我永远无法找到真正的原因,但是将表单的 Text 属性的设置从 OnLoad 覆盖移动到构造函数使问题消失了。很奇怪,我仍然不知道为什么会这样。

不确定这是否适用于您,但我很想知道您是否也在构造函数之外设置 Text 。

于 2012-03-30T13:09:51.883 回答
2

全部,

这是通过添加解决的

this.Activate();

finally主窗体(MDI 父窗体)Shown事件的块中。

感谢您的时间和帮助。

于 2012-04-16T10:24:08.777 回答