小弟刚学习C#一点,我想实现一个Form1跳转到Form2,Form1不隐藏。当Form2跳转到Form1是,用相同的方法,会产生两个Form1.怎么才能桌面上有一个Form1呢Form2 F2=New Form2();//从Form1跳转到Form2
F2.Show();Form1 F1=New Form1();//由Form2跳转到Form1
Hide();//隐藏Form2
F1.Show();

解决方案 »

  1.   

    form1跳转到form2的时候form1又没关,后面再new一个form1当然就有两个了。具体怎么跳转得看你到底这么做是为了干嘛了。
      

  2.   

    Form1 F1=New Form1() 你又创建了一个
      

  3.   

    Form1 F1=new Form1()
    使用new的话会创建一个新窗口,加上原来的Form1就是两个了。不用new,直接F1.Show()
      

  4.   

    把Form1对象传递给Form2, 在Form2中定义public Form ParentForm { get; set; }
    Form2 F2=New Form2();//从Form1跳转到Form2
    F2.ParentForm = this; // this = Form1
    F2.Show();跳回来的时候,直接用ParentForm.Show()就可以了。
      

  5.   

    我没有可用分发帖,借楼主帖子用一下,求助一问题:
    假如有一窗体名为frm_test,显示这个窗体的话就像楼主写的:
    frm_test frm=new frm_test();
    frm.show();  
    就OK了,但如果是这样一种情况,只有一个窗体名称的字符串,如:
    string s="frm_test";
    这时候也想show这个窗体,应该怎么写啊?谢谢!
      

  6.   

    Form1中 这样写:
    Form2 F2=New Form2();//从Form1跳转到Form2
    F2.Owner=this;
    F2.Show();Form2中这样写:
    if(null!=this.Owner)
    {
    this.Owner.Show();
    // 还要做其他的操作的话 可以这样
    // Form1 form1 = (Form)this.Owner;
    // form1.....
    }