在VB.NET中切换TopMost

时间:2009-11-11 15:23:54

标签: vb.net winforms topmost

我有一个表格必须在一段时间内在顶部,然后可以正常设置在其他窗口后面。除了将Me.TopMost设置为TrueFalse之外还有什么需要做的吗?我问,因为它似乎没有起作用。

1 个答案:

答案 0 :(得分:4)

它应该没有问题。下面的代码(C#,抱歉,我现在没有可用的VB.NET环境)将TopMost设置为true,等待5秒然后将TopMost切换回{ {1}}。

false

请注意,这不会立即影响窗口的Z顺序;当private void MakeMeTopmostForAWhile() { this.TopMost = true; ThreadPool.QueueUserWorkItem(state => { Thread.Sleep(5000); this.Invoke((Action)delegate { this.TopMost = false; }); }); } 设置为TopMost时,窗口仍将位于其他窗口之上。如果窗口位于另一个也是最顶层的窗口的顶部,它将移动,以便不覆盖另一个最顶层窗口,但它将保持在其他非最顶层窗口之上。

<强>更新
以下是VB.NET中的上述代码(auto-converted,未经测试):

false