我在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
答案 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