子窗体调用父窗体方法
你父窗体
public partial class MainForm1 : Form
{
public MainForm1()
{
InitializeComponent();
}
private void CreateFormInstance(string formName)
{
try
{
bool flag = false;
//遍历主窗口上的所有子菜单
for (int i = 0; i < this.MdiChildren.Length; i++)
{
// 如果所点的窗口被打开则重新激活
if (this.MdiChildren[i].Tag.ToString().ToLower() == formName.ToLower())
{
this.MdiChildren[i].Activate();
this.MdiChildren[i].Show();
this.MdiChildren[i].WindowState = FormWindowState.Normal;
flag = true;
break;
}
}
if (!flag)
{
//如果不存在则用反射创建form窗体实例。
Assembly asm = Assembly.Load("GZCRB");//程序集名
object frmObj = asm.CreateInstance(formName);//程序集+form的类名。
DockContent frms = (Form)frmObj as DockContent;
//tag属性要重新写一次,否则在第二次的时候取不到。原因还不清楚。有知道的望告知。
frms.Tag = formName.ToString();
frms.MdiParent = this;
frms.Show(dockPanel1);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
}
}
}
MainForm1 的this.IsMdiContainer = true;
子窗体from2怎么调用 MainForm1中 CreateFormInstance()方法