我的Windows窗体应用程序中的窗体上没有显示的窗体有问题。我创建了一个线程,并使用BeginInvoke将表单添加到我的面板,但面板显示没有内容。
如果我使用frmMot.ShowDialog将表单显示为对话框,它可以工作,但它不会显示在我需要的面板中
这是我的代码:
If dms.datanumeric("Filters", 4) = "1" Then
Me.panelMot.Controls.Clear()
Me.panelMot.Visible = True
Me.lblDiaryDate.Visible = True
Me.txtDiaryDate.Visible = True
Me.btnNextDay.Visible = True
Me.btnPrevDay.Visible = True
Dim t As New System.Threading.Thread(AddressOf ThreadProc)
t.SetApartmentState(System.Threading.ApartmentState.STA)
t.Start()
End If
Private Sub ThreadProc()
If Me.InvokeRequired Then
Me.BeginInvoke(DirectCast(Sub()
frmMot = New frmMotDiary(clsDmsData.Date)
frmMot.TopLevel = False
panelMot.Controls.Add(frmMot)
frmMot.Show()
End Sub, MethodInvoker))
Else
Me.panelMot.Controls.Clear()
frmMot = New frmMotDiary(clsDmsData.Date)
frmMot.TopLevel = False
panelMot.Controls.Add(frmMot)
frmMot.Show()
End If
End Sub