Como criar vários formulários encadeados como MDIChild
É possível ter vários formulários encadeados como MDIChild? Eu tenho um controle ActiveX no formulário MdiChild que pode levar um monte de CPU de processamento e gostaria de fazer esse controle não influenciar outro controle usando código de exemplo abaixo. Mas linha frmDoc.MdiParent = Me lança exceção de thread cruzado.
Dim frmDoc As MDIChild
Dim newThread As New Thread(
Sub()
frmDoc = New MDIChild
frmDoc.MdiParent = Me '<- this line throws cross threading exception.
Application.Run(frmDoc)
End Sub
)
newThread.IsBackground = True
newThread.SetApartmentState(ApartmentState.STA)
newThread.Start()
Lança System.InvalidOperationException foi manipulado:
Message=Cross-thread operation not valid:
Control 'FormMdiApp' accessed from a thread other than the thread it was created on.
Source=System.Windows.Forms