【问题标题】:Keep form always on top of taskbar将表单始终保持在任务栏顶部
【发布时间】:2013-07-23 21:43:22
【问题描述】:

我试图让一个表单始终位于任务栏的顶部,但是每当任务栏被选中/成为焦点时,我的表单就会在它后面。我已经将它设置为最顶层(me.topmost = true),但看起来这并不总是让它保持在最前面。

如何将我的表单始终保持在任务栏顶部,并在任务栏获得焦点时保持在顶部?

【问题讨论】:

  • 我认为原因在这里并不重要,但我的原因是我正在为 Windows 8/8.1 创建一个开始菜单。我已经在屏幕每一侧的任务栏后面有了表单,并且我有一个方法轻推任务栏图标以为开始按钮腾出空间。我现在需要的只是将表单始终保持在任务栏的顶部以使其可用
  • 任务栏还具有 TopMost 属性,因此用户可以访问它。您要求 SuperDuperTopMost 功能。每个人都要求这样做。每个人也会使用它,使该功能无用。所以微软当然不会添加它。你得不到你想要的。
  • 为 Windows 构建开始菜单的正确方法是通过 shell 扩展,而不是单独的进程。您现在可以在 .NET 中执行此操作,请参见此处:social.msdn.microsoft.com/Forums/vstudio/en-US/…

标签: vb.net winforms visual-studio-2012


【解决方案1】:

我找到了一种将表单保持在任务栏顶部的方法。为此,您必须将表单设置为最顶层:

me.topmost = true

接下来,您要创建一个计时器,并将时间间隔设为 1。计时器将不断保持开始按钮的焦点:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Me.Focus()
End Sub

就是这样,即使任务栏成为焦点,表单也会停留在任务栏的顶部。

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2015-02-08
    • 2011-06-24
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多