Vb.net 拖动时未将窗体带到前面

Vb.net 拖动时未将窗体带到前面,vb.net,forms,drag,Vb.net,Forms,Drag,我在VB.NET中创建了一个附加到主窗体的列表窗体。这一切都很好,除了当主窗体被激活时,我需要将列表也带到前面。我已经加入了一个简单的IF函数来实现这一点,但是当我添加这些代码行时,主窗体以及列表窗体现在不会出现在前面,直到您松开鼠标按钮。显然,这意味着如果您拖动表单,它将停留在后面,直到您松开鼠标按钮 我添加的代码如下: If CRL.Visible = True Then CRL.BringToFront() End If CRL是列表形式 如果我再次注释掉这段代码,在拖动时,主

我在VB.NET中创建了一个附加到主窗体的列表窗体。这一切都很好,除了当主窗体被激活时,我需要将列表也带到前面。我已经加入了一个简单的IF函数来实现这一点,但是当我添加这些代码行时,主窗体以及列表窗体现在不会出现在前面,直到您松开鼠标按钮。显然,这意味着如果您拖动表单,它将停留在后面,直到您松开鼠标按钮

我添加的代码如下:

 If CRL.Visible = True Then
   CRL.BringToFront()
 End If
CRL是列表形式


如果我再次注释掉这段代码,在拖动时,主窗体会被带到前面,但列表窗体显然不会。主窗体和列表窗体都是MDI子窗体。

您可以通过最顶层的属性来欺骗它:

If CRL.Visible = True Then
   CRL.BringToFront()
   CRL.TopMost = True 
   Application.DoEvents
   CRL.TopMost = False
End If