在win form形式的应用程序中获得关注?

时间:2009-03-13 12:13:51

标签: c# focus

我觉得我犯了一个主要的罪,因为在大多数情况下,如果这样做是错误和邪恶的。但...

我有一个winforms应用程序,在不使用时最小化到系统托盘我想让它弹出,并且当它从服务器收到消息时成为最顶层的窗口。

我可以让它出现,但我无法让它成为最顶层的窗口。 (设置最顶层不会改变它,但一旦它获得焦点,它确实使它成为最顶层)

有没有人知道如何做到这一点?,我通常不会这样做,但客户已经要求这样做,所以我必须实现它...... :(

2 个答案:

答案 0 :(得分:1)

如果.Net的“最顶层”不起作用,您可以尝试直接从Windows的“SetWindowPos()”API获取此服务。有关详细信息,请参阅this页面。

答案 1 :(得分:1)

微软论坛上有一个post围绕这个问题。

通常情况下,如果窗口在你的应用程序中,调用它的BringToFront方法应该可以解决问题。

正常的操作顺序:

  1. 让它可见
  2. 致电BringToFront()
  3. 将其设为TopMost