假设我要实现这样一个功能.主程序有若干form
form1,form2,form3.....
现在要写一个函数函数void showForm(Form frm)
能实现showForm(form1)就显示form1吗,showForm(form2)就显示form2吗.....?
form1,form2,form3.....
现在要写一个函数函数void showForm(Form frm)
能实现showForm(form1)就显示form1吗,showForm(form2)就显示form2吗.....?
class Form2:Form{}
class Form3:Form{}void ShowForm(Form frm)
{
frm.Show();
}调用的地方
ShowForm(new Form1); //显示Form1
ShowForm(new Form2); //显示Form2不过这样做太多此一举了吧
/// <param name="MethodName">你的FORM1,FORM2,的类名称,但是要完整</param>
public static void ShowFormByName(string GetDllPath,string FormClassName)
{
System.Security.Policy.Evidence e = new System.Security.Policy.Evidence();
Assembly l = System.Reflection.Emit.AssemblyBuilder.LoadFile(GetDllPath);
object temp = l.CreateInstance(FormClassName, false, BindingFlags.Default, null, null, null, null);
((Form)temp).Show();
}
{ this.mainPanel.Controls.Clear();
frm.TopLevel = false;
frm.Dock = DockStyle.Fill;
frm.FormBorderStyle = FormBorderStyle.None;
frm.Parent = mainPanel;
frm.Show();
this.Text = frm.Text; }
showForm(frmStock );
我这样写为什么不对,帮忙看一下...
其中(frmStock)是已经存在的一个form窗体!!
报这个错误
先把主窗体的IsMdiContainer设置为true
private void showForm(Form frm)
{
frm.MdiParent = this;
frm.TopLevel = false;
frm.Dock = DockStyle.Fill;
frm.FormBorderStyle = FormBorderStyle.None;
frm.Show();
this.Text = frm.Text;
}