我的Windows窗体应用程序落后于所有应用程序

时间:2011-03-03 07:11:49

标签: c# .net winforms forms formborderstyle

我开发了一个WindowsFormsApplication,其边框样式为“FixedToolWindow”,现在的问题是,当我打算最小化任何其他打开的应用程序时,我的应用程序已经打开已经打开的所有应用程序。我没有得到问题的确切位置。那么有人可以帮助我找出问题所在以及如何将其缩短吗?

任何帮助将不胜感激。 在此先感谢

2 个答案:

答案 0 :(得分:3)

此问题称为 Z顺序,这是由Windows维护的屏幕上显示的窗口的内部从上到下排序。

当您单击其他应用程序以将其最小化时,它将变为“活动”应用程序,并且其窗口将移至前台。这会将您的应用程序(曾经是前景窗口)推送到后台,在其他应用程序后面。这会导致其窗口隐藏或隐藏在其他应用程序的窗口后面。单击应用程序的窗口将再次将其置于前台,使其覆盖其后面的任何窗口。

但是在回答您的真实问题时,不,您不应该为应用程序的窗口的BorderStyle指定“FixedToolWindow”。具有该边框样式的Windows不会出现在任务栏中,也不会被视为应用程序的主窗口。该样式适用于工具窗口,例如浮动调色板,除应用程序的主窗口外还显示。

答案 1 :(得分:2)

如果您的表单是工具窗口,那么您可能希望它在显示时显示在所有其他表单之上。

因此,将其 TopMost 属性设置为True。

否则,我同意Cody Gray,主格式不应该有 FixedToolWindow 边框样式。