【问题标题】:Keep window in foreground (even if it loses focus)将窗口保持在前台(即使它失去焦点)
【发布时间】:2010-12-07 06:46:09
【问题描述】:

在我的应用程序(C#、Windows 窗体)中,我有一个电话信息屏幕:如果有来电,则会显示一个窗口,其中包含呼叫者的其他信息。

这个窗口应该在前台打开,并且即使用户在另一个窗口中书写也应该保持在那里(这样用户仍然可以看到有关来电的信息)。

首先我使用了 BringToFront - 但这并不是在所有情况下都有效(例如,当主应用程序不在前台时)。

现在我正在使用 BringToFront 和 user32.dll 函数 BringWindowToTop -> 可以工作,但如果窗口失去焦点,它就会在后台。

如何实现这种行为?

【问题讨论】:

  • Raymond Chen 喜欢指出:有时你不能。如果有两个程序这样做会怎样?
  • 不错的报价 - 但有点过度使用。

标签: c# windows winforms dialog foreground


【解决方案1】:

我想你想将你的表单设置为TopMost:

yourForm.TopMost = true;

【讨论】:

  • TopMost:获取或设置一个值,该值指示窗口是否出现在最顶部的 z 顺序中。所以不,不是这样,当您希望表单在失去焦点时保持在顶部。
  • @tzup:将一个小示例项目放在一起并尝试一下。你会大吃一惊...
  • @CMS,你是对的......该死......我想我读这个问题太快了。那应该教我!
猜你喜欢
  • 2015-03-08
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 2021-08-22
  • 1970-01-01
相关资源
最近更新 更多