VB.NET表单未显示在Windows窗体应用程序的面板上

时间:2016-01-06 11:14:34

标签: vb.net forms winforms

我的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

0 个答案:

没有答案