Vb.net 无法将控件动态加载到SplitContainer面板中

Vb.net 无法将控件动态加载到SplitContainer面板中,vb.net,winforms,custom-controls,Vb.net,Winforms,Custom Controls,我已将SplitContainer控件放置到窗体上。我在面板1中有一个自定义控件。此自定义控件是另一个用户控件的容器 此用户控件中有一个TreeView控件。在树视图中选择一个节点后,我试图将另一个用户控件加载到面板2上。但它没有被加载。我错过什么了吗 加载控件的代码如下所示: Dim ucImportExcel1 As New ucImportExcel() frmMain.SplitContainer1.Panel2.Controls.Add(ucImportExcel1) ucImport

我已将
SplitContainer
控件放置到窗体上。我在
面板1中有一个自定义控件。此自定义控件是另一个用户控件的容器

此用户控件中有一个
TreeView
控件。在树视图中选择一个节点后,我试图将另一个用户控件加载到面板2上。但它没有被加载。我错过什么了吗

加载控件的代码如下所示:

Dim ucImportExcel1 As New ucImportExcel()
frmMain.SplitContainer1.Panel2.Controls.Add(ucImportExcel1)
ucImportExcel1.Dock = DockStyle.Fill
对上述内容的补充:在相同的
treeview
选择事件中

对于下面的代码,它设置了表单文本:

me.parentform.text = "Sample Text 1"
然而,如果使用此代码,则不会发生任何情况:

frmmain.text = "Sample Text 2"

当被一个
Directcast
引用时,它解决了以下问题:

DirectCast(Me.ParentForm.Controls.Item("SplitContainer1"), System.Windows.Forms.SplitContainer).Panel2.Controls.Add(ucImportExcel1)

尝试设置ucImportExcel1.Visible=True
。它是否适用于其他标准控件,例如
按钮
?编写的代码适用于标准控件(我使用了一个按钮),因此我猜它与您的用户控件有关。在ucImportExcel中,您是否在新子控件中设置了任何内容?我尝试过。可见,但仍然相同。当我使用此代码MsgBox(frmMain.SplitContainer1.Panel2.Controls.Item(0.Name))时,它也会给我usercontrol的名称。也就是说,它添加到了控件中,但没有显示。是否添加了第二个用户控件(在第一个控件中)和treeview?