У меня есть 2 формы, 1 MainForm и 1 Form2. Я пытаюсь отобразить Form2 как модальную форму и фон из MainForm. Вот что у меня есть до сих пор.
Появится основная форма по умолчанию, и через 5 секунд она покажет Form2 как модальную форму из фонового потока. Я закрываю Form2, и если та же форма Form2 появляется снова с помощью ShowDialog, форма не является модальной. Как сделать так, чтобы отображаемая форма Form2 всегда была модальной?
Public Class MainForm
Dim frm2 As Form2
Private Sub MainForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
frm2 = New Form2()
Dim frmHandle As IntPtr = frm2.Handle
frm2.Button1.Text = "test"
System.Threading.ThreadPool.QueueUserWorkItem(New System.Threading.WaitCallback(AddressOf DoSomething), 0)
End Sub
Private Sub DoSomething()
'call show dialog first time
Threading.Thread.Sleep(5000)
If frm2.InvokeRequired Then
frm2.Invoke(New Action(AddressOf frm2.ShowDialog))
Else
frm2.ShowDialog()
End If
'call show dialog second time
If frm2.InvokeRequired Then
frm2.Invoke(New Action(AddressOf frm2.ShowDialog))
Else
frm2.ShowDialog()
End If
End Sub
End Class