在打开未加载控件的表单之前使用的初始屏幕

Splash screen used before opening a form not loading controls

我有一个需要一点时间才能加载的表单(需要从数据库中获取一些值)。

所以我制作了一个简单的“请稍候”启动画面,在实例化表单之前显示它,关闭它并显示表单:

Dim sp As New SplashScreen2
sp.Show()
Dim a = New AsignarFormacionesUsuario(p)
a.Text = "Asignar formaciones a: " + p.NomComplet
a.Show()
sp.Close()

问题是启动画面没有正确地丢失控件:

应该是:

如果我删除表单的实例化和显示(以及启动画面的关闭以使其不会立即关闭),它会完美显示。

所以这似乎不是飞溅的问题,而是表单的实例化没有让飞溅正确加载。

我不知道该尝试什么,看来我只需要实例化来等待启动 Show() 完成。但是它不应该已经等待了吗?

Dim sp As New SplashScreen2  
sp.Show()  

sp.Update() 

Dim a = New AsignarFormacionesUsuario(p)