【问题标题】:How can I make a form appear on top of all other windows?如何使表单出现在所有其他窗口的顶部?
【发布时间】:2013-03-14 14:24:15
【问题描述】:

如何使表单出现在桌面上的所有内容之上,而不仅仅是我的应用程序中的表单。我花了很长时间在谷歌上搜索,但只找到了适用于 C++ 和旧版本 Visual Studio 的 sn-ps,它们不再有效。我知道答案就在那里,我一定是在寻找错误的东西。

明确一点 - 我的项目是在 Visual Studio 2012 中创建的,并且是用 Visual Basic 编码的。

提前致谢。

【问题讨论】:

  • 也许您没有找到答案,因为没有防故障答案?例如,当另一个应用程序决定相同的事情时会发生什么?
  • 你可能想看看这个帖子 --> stackoverflow.com/questions/7434638/…

标签: vb.net winforms


【解决方案1】:

正如史蒂夫所说,只要您的应用是唯一使用它的应用,这项工作就可以:

Me.TopMost = True

它是在表单中找到的属性。如果您在表单外执行此操作,请使用表单的名称,例如 Form1.TopMost = True

MSDN documentationsome info you may find interesting 关于尝试使窗口位于“最顶层”窗口的顶部。

【讨论】:

  • 我以为只适用于同一个应用程序中的表单——我完全错了!非常感谢,效果很好。
【解决方案2】:

将 TopMost 设置为 True 会使其永久遮挡其他窗口。我发现如果你把它设为 True 然后 False,你会将表单带到顶部以便它可见,但如果其他表单被选中,则可以通过。

【讨论】:

    【解决方案3】:
    Me.TopMost = True
    

    但在 ACTIVATED 中(不在 LOAD EVENT 中)

    Private Sub frm_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    
        Me.TopMost = True
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多