【发布时间】:2016-10-25 15:23:06
【问题描述】:
我有一个表单需要一些时间来加载(需要从数据库中获取一些值)。
所以我做了一个简单的“请稍候”启动画面,在启动表单之前显示它,关闭它并显示表单:
Dim sp As New SplashScreen2
sp.Show()
Dim a = New AsignarFormacionesUsuario(p)
a.Text = "Asignar formaciones a: " + p.NomComplet
a.Show()
sp.Close()
问题是闪屏没有正确地控制:
应该是:
如果我删除我的表单的 intancing 和显示(以及关闭飞溅,因此它不会立即关闭)它会完美显示。
所以这似乎不是飞溅的问题,而是表单的实例化并没有让飞溅正确加载。
我不知道该尝试什么,看来我只需要实例来等待启动 Show() 完成。但是不应该等一下吗?
【问题讨论】:
-
当 UI 线程被阻塞时,UI 不会更新。显示启动画面后,您需要给 UI 线程时间来更新。
-
@ThorstenDittmar,GuidoG 的回答让它显示了控件,但 gif 没有移动。我确实需要另一个线程才能工作,对吧?
-
我猜是这样。也就是说,你有没有检查过那些可以做启动画面的现成组件?他们可能已经有这样的功能......
标签: vb.net winforms splash-screen