我有一个可以快速加载的主要表格,但是我还需要在后台加载第二个表格。第二种形式具有嵌入式浏览器,需要预加载网页。我想在单独的线程上启动第二种形式,并在完全加载后将其带到主线程。加载按钮时,无法访问此表单
在我显示的主要形式中,我已经尝试过:
Private Sub frmMain_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Dim trd As New Thread(New ParameterizedThreadStart(Sub(t As Thread)
Me.frmAlphaTicket = New frmAlphaticket
frmAlphaTicket.Opacity = 0
frmAlphaTicket.Show()
Thread.Sleep(1000)
t.Join()
End Sub))
trd.Priority = ThreadPriority.Lowest
trd.Start(trd)
End Sub
t.Join()
是错误的方法,因为它仅冻结当前线程,直到调用线程完成。它不会更改线程上下文,所以我得到一个UI ThreadException。
我如何在后台加载第二个表格,以免降低主表格的速度?