none
关于多窗体(Mdi)问题 RRS feed

  • 问题

  • 我有一个父窗体和多个子窗体,用菜单和按钮打开。打开子窗体的代码几乎都是一样的,

    ChildForm1 child1=new ChildForm1();

    child1.Mdiparent=this;

    child1.Show();

    ..........

    ChildFormn childn=new ChildFormn();

    childn.MdiParent=this;

    childn.Show();

    我试图在一个类里面用一段通用的代码, 但是怎么都做不出,请提示, 谢谢.

    2013年2月8日 22:29

答案

  • 现在假设你有两个子窗体(A1和A2),那么你或许要考虑使用反射反射出指定的窗体,譬如:

    namespace CSharp
    {
        public partial class Form1 : Form
        {
            private static Form DynamicGetForm(string formName)
            {
                Form f = Activator.CreateInstance("CSharp""CSharp." + formName).Unwrap() as Form;
                return f;
            }
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object senderEventArgs e)
            {
                
            }
     
            private void button1_Click(object senderEventArgs e)
            {
                DynamicGetForm("A1").Show();
            }
     
            private void button2_Click(object senderEventArgs e)
            {
                DynamicGetForm("A2").Show();
            }
        }
    }

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2013年2月9日 4:39
    版主

全部回复