2010-03-12 13 views
4

我需要在一個窗體完成加載知道的一些方法。我的推理是我有第二種形式加載時加載此表單。代碼爲form1.load加載事件後的VB.NET .NET?

Form2當前正在顯示後面form1如我猜測form1調用一個激活或在負載處,從而任何激活,BringToFront等上form2被覆蓋調用的端部相似的。

如果你看一下下面的代碼,我曾嘗試加入frmAllocationSearch.ActivatefrmAllocationSearch.BringToFrontMe.SendToBack調用ShowAlloactionSearchDialog()後,但這些都被浪費掉的後負荷事件被觸發,使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 

回答

3

也許你可以試試Form.Activated事件。

在代碼或用戶激活表單時發生。

+0

我不得不添加一個標誌,以防止它被放在上面所有的時間,但是這是完美的。 – themaninthesuitcase 2010-03-15 15:23:12

3

你可能想嘗試「顯示的」事件

+1

此事件仍處於初始化過程。調用此事件時,表單未完全加載。 – htm11h 2016-04-06 15:44:38

0

您可以使用函數的延時啓動一個定時器控制的形式。啓用在設計時計時器,並在timer.tick事件的第一次執行時禁用它。將interval設置爲500以獲得舒適的延遲啓動。

或者你也可以直接使用Form.Shown事件,但它會立即開始而不給予任何延遲。