这应该没有问题。下面的代码(C#,很抱歉,我现在所在的位置没有可用的VB.NET环境)设置
TopMost
到
true
最顶端的
回到
false
.
private void MakeMeTopmostForAWhile()
{
this.TopMost = true;
ThreadPool.QueueUserWorkItem(state =>
{
Thread.Sleep(5000);
this.Invoke((Action)delegate { this.TopMost = false; });
});
}
最顶端的
设置为
假的
,该窗口仍将位于其他窗口的顶部。如果该窗口位于另一个也是最顶部的窗口的顶部,则该窗口将移动以使另一个最顶部的窗口不被覆盖,但它将保持在其他非最顶部的窗口的顶部。
更新
auto-converted
,未经测试):
Private Sub MakeMeTopmostForAWhile()
  Me.TopMost = True
  ThreadPool.QueueUserWorkItem(Function(state) Do
    Thread.Sleep(5000)
    Me.Invoke(DirectCast(Function() Do
      Me.TopMost = False
    End Function, Action))
  End Function)
End Sub