2013-08-21 84 views
0

我在vb.net編寫了一個程序,但我面臨着一個我不知道如何解決的麻煩。如何在.net中加載應用程序之前加載延遲?

我有3種形式。

Form 1 = Loading 
Form 2 = Successfully loaded  
Form 3 = Main 

因此,當程序啓動時,它會打開加載表單並等待程序加載。我想在成功頁面顯示之前加載10秒的延遲。

所以,我嘗試以下方法:

System.Threading.Thread.Sleep(10000) 

但響應的應用程序,它不工作打算,它顯示前10秒的申請。

我也試過用Timer,將間隔設置爲10,000,但它似乎不起作用,它立即顯示錶單。

任何替代解決方案???

我的代碼:

Public Class Loading 

    Private Sub Loading_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Timer1.Start() 
     Me.Hide() 
     Success.Show() 
    End Sub 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
     Timer1.Interval = 10000 
     Timer1.Stop() 
    End Sub 
End Class 
+0

'它打開裝載形式和它正在等待,直到程序被裝載'=>你的意思是你的表格而不是程序?爲什麼當表單加載並在主表單中捕獲它時,您不會提出事件?在某些機器上10秒可能很大,但其他人可能不夠。如果不需要,您不應該停止用戶10秒(很長一段時間),或者您可能還想重新考慮應用程序加載形式的方式。 – glautrou

+0

是的,我的意思是形式。我在第一篇文章中更新了我的代碼,請檢查它.. – user2699298

回答

0

我認爲最好的方法是使用一個timer

  1. 創建的10000ms
  2. 的間隔的計時器顯示在經過事件
  3. 消息處置定時器
+0

我已經嘗試過,在第一篇文章中檢查我的代碼,當我運行應用程序時,加載和成功表單顯示出於某種原因... – user2699298

+0

您應該打電話給Success。在計時器已過去的事件中顯示()。現在你在定時器啓動後立即調用它。 – Alberto

+0

你是對的。我所要做的就是將代碼移到定時器,它現在完美運行。謝謝! – user2699298