У меня есть основная форма, которая загружается быстро, но мне нужно также загрузить вторую форму в фоновом режиме.2-я форма имеет встроенный браузер, который должен предварительно загрузить веб-страницу.Я хотел бы запустить эту 2-ую форму в отдельном потоке и перенести его в основной поток, как только он будет полностью загружен.Пока загрузка кнопки для доступа к этой форме отключена
В моей основной форме, показанной на сабе, я пробовал это:
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()
- неправильный подход, поскольку он только замораживает текущуюпоток, пока вызывающий поток не завершится.Он не меняет контекст потока, поэтому я получаю исключение пользовательского интерфейса ThreadException.
Как я могу загрузить 2-ю форму на фоне, чтобы она не замедляла мою основную форму?