VB.NETMDI窗体显示问题?

1、Form1为MDI主窗体上有Panel1、SplitContainer1(Panel1、Panel2)控件
2、Form1中的Button1_Click显示子窗体:
Dim frm As Form2 = New Form2
frm.MdiParent = Me
frm.TopLevel = False
frm.BringToFront()
frm.TopMost = True
frm.Show()
问题: 子窗体被Panel1、SplitContainer1控件所遮挡,如何将子窗体显示在MDI窗体所有控件的最前面;

http://bbs.csdn.net/topics/300109845

using System.Runtime.InteropServices;

[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);

Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
SetParent((int)f2.Handle, (int)this.Handle);

 该方法可以将子窗体显示出来,但不在MDI容器中,游离到MDI之上,显示效果不好;

在mdi窗体上添加一个panel,这个panel撑满整个MDI,
把SplitContainer1之类的都放在这个Panel中。
让后在把窗体设置为

 frm.MdiParent = Me
        frm.Parent = Me.Panel1
        frm.BringToFront()