启动画面问题

时间:2009-12-20 17:28:48

标签: vb.net

我在VB.Net中编写一个启动画面,显示3秒后显示登录屏幕。但即使登录显示,我也已经告诉飞溅隐藏了。这是我的代码:

    Public Class frmSplash

    Private Sub frmSplash_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Show()
        System.Threading.Thread.Sleep(3000)
        Me.Hide()
        frmLogin.Show()
    End Sub
End Class

3 个答案:

答案 0 :(得分:2)

在UI线程中调用Thread.Sleep将冻结您的程序。

此外,Load事件在显示表单之前触发,因此您在表单首先显示之前调用Hide

您需要向表单添加一个Timer组件,将其Interval设置为3000,并在Close事件中调用Tick。然后,在表单Start事件中调用计时器的Shown方法。

答案 1 :(得分:0)

你的睡眠声明冻结了你的UI,尝试从另一个线程运行它。

答案 2 :(得分:0)

谢谢你们!这有效: 公共类frmSplash

Private Sub frmSplash_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    SplashTimer.Start()
End Sub

Private Sub SplashTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SplashTimer.Tick
    SplashTimer.Stop()
    frmLogin.Show()
    Me.Hide()
End Sub
End Class