2013-08-21 43 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