public DockContent ShowContent(string caption/*, Type formType*/)
{
DockContent frm = FindDocument(caption);
if (frm == null)
{
string strTemp = GetClassByName(caption);
if (strTemp == "")
return null;
string[] strSplit = strTemp.Split('.');
string strAssemblyName = strSplit[0];
Assembly assembly = Assembly.Load(strAssemblyName);
Type typForm = assembly.GetType(strTemp);
//关于InvokeMember用法,不明白的可以查看:http://msdn.microsoft.com/zh-cn/library/de3dhzwy(VS.80).aspx
Object mdiChild = typForm.InvokeMember(
null,
BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance,
null,
null,
null);
if (mdiChild != null)
{
frm = mdiChild as DockContent;
frm.MdiParent = this;
frm.WindowState = FormWindowState.Maximized;
}
}
frm.Show(this.dockPanel);
frm.Focus();
frm.BringToFront();
return frm;
}