加载事件后的VB.NET.NET?

加载事件后的VB.NET.NET?,vb.net,events,Vb.net,Events,我需要知道表单何时完成加载。我的理由是,当这个表单加载时,我有第二个表单被加载。此代码从form1.load调用 Form2当前显示在form1后面,我猜form1在加载结束时调用activate或类似命令,因此Form2上的任何activate、BringToFront等调用都会被覆盖 如果您查看下面的代码,我已尝试在调用showallocationsearchdialog()后添加frmAllocationSearch.Activate、frmAllocationSearch.BringTo

我需要知道表单何时完成加载。我的理由是,当这个表单加载时,我有第二个表单被加载。此代码从
form1.load
调用

Form2
当前显示在
form1
后面,我猜
form1
在加载结束时调用activate或类似命令,因此
Form2
上的任何activate、BringToFront等调用都会被覆盖

如果您查看下面的代码,我已尝试在调用
showallocationsearchdialog()
后添加
frmAllocationSearch.Activate
frmAllocationSearch.BringToFront
Me.SendToBack
,但是这些都是浪费的,因为在load事件被激发以将
Me
带到前端之后发生了一些事情

代码是:

Private Sub Allocation_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
                            Handles Me.Load

    ShowAlloactionSearchDialog()
End Sub

Private Sub ShowAlloactionSearchDialog()

    If frmAllocationSearch Is Nothing OrElse frmAllocationSearch.IsDisposed Then
        frmAllocationSearch = New AllocationSearch
        frmAllocationSearch.MdiParent = Me.MdiParent
        frmAllocationSearch.Info = Me.Info
        frmAllocationSearch.Top = Me.Top
        frmAllocationSearch.Left = Me.Left + Me.Width - frmAllocationSearch.Width
        frmAllocationSearch.AllocationWindow = Me

        frmAllocationSearch.Show()
    Else
        If frmAllocationSearch.WindowState = FormWindowState.Minimized Then
            frmAllocationSearch.WindowState = FormWindowState.Normal
        End IF
        frmAllocationSearch.Activate()
    End If
End Sub
也许你可以试试这个活动

当表单在代码中或由用户激活时发生


您可能需要尝试表单“显示”事件,您可以使用计时器控件延迟启动函数。在设计时启用计时器,并在首次执行
计时器时禁用。勾选
事件。将
间隔设置为500,以获得舒适的延迟启动


或者您可以使用
表单。直接显示了
事件,但它将立即启动,不会有任何延迟。

我必须添加一个标志,以防止它一直处于顶部,但这是完美的。此事件仍在初始化过程中。调用此事件时,表单未完全加载。