1
我的問題有點複雜:調用窗體並凍結
我有Socket服務器,我有兩種形式。一個是服務器的主要形式,另一個是定製的消息框。當請求到達服務器時,主表單必須調用第二個表單(messagebox)。當主窗體首次打開時,一切正常。但是,當我關閉的主要形式,但不關閉應用程序,然後再次打開它,並請求進入到服務器的定製消息框打開,但它凍結,看起來像這樣:
的代碼調用:
Private Delegate Sub DInvoke(ByRef Frm As Form, ByVal Text As String, ByVal Title As String, ByVal Socket As Integer, ByVal DataX As String, ByVal ReqForProfil As Boolean)
Public Sub ShowMessage(ByRef Frm As Form, ByVal Text As String, ByVal Title As String, ByVal Socket As Integer, ByVal DataX As String, ByVal ReqForProfil As Boolean)
If Frm.InvokeRequired Then
Dim DT As New DInvoke(AddressOf ShowMessage)
Frm.Invoke(DT, New Object() {Frm, Text, Title, Socket, DataX, ReqForProfil})
Else
Messegar = New MessageFrm(Text, Title, Socket, DataX, ReqForProfil, True, 30)
Messegar.Show()
End If
End Sub
任何幫助,將不勝感激!
感謝Hans Passant的幫助。 Application.OpenForms解決了我的凍結問題。 – 2012-04-14 15:51:08