如何在表单上的任何位置单击时激活表单?

时间:2011-06-22 07:49:55

标签: c# winforms focus activation

我的C#应用​​程序工作正常,并且每当被要求时都会保持最佳状态。我面对和想要的是:

假设我的应用程序已打开,另一个应用程序(比如记事本)也会在我的应用程序窗口中重叠打开一半。当我们点击记事本上的任何地方时,它会被激活。而对于我的应用程序,我必须单击窗口的顶部栏以使其处于活动状态。为什么这样 ?我想让我的应用程序处于活动状态,并在用户点击表单上的任何位置时将其置于最前面,而不仅仅是顶部栏。

我需要设置或实现什么才能完成此任务?

3 个答案:

答案 0 :(得分:1)

尝试这样做,在Form1_MousClick事件中放置此代码

bool top = this.TopMost;
this.TopMost = true;
this.TopMost = top;

答案 1 :(得分:0)

没有,如果你点击一个窗口的任何地方,它会得到焦点并成为最顶层的窗口,除非另一个窗口是“永远在顶部”。

答案 2 :(得分:0)

问题在于重写WndProc。一个不必要的陈述被删除,事情得到了解决。感谢你们所有人的努力。