完成类似安装向导中的一样,现在有两个form,MyForm和NextForm
在MyForm中的“下一步”是这样实现的
private NextForm nextForm = new NextForm(); 
this.Hide();
nextForm.Show(); 
在NextForm中的“上一步”如何实现呢?必须保留上一步的操作。

解决方案 »

  1.   

    MyForm.Show();
    NextForm.Show();
    实现的话这样就可以了
    建议不要这样实现,窗体一直占内存,用到时创建
      

  2.   

    MyForm.Show();
    NextForm.Hide();//才对
      

  3.   

    你这样不行拉,在NextForm中的“上一步”的按钮代码中,怎么写啊
      

  4.   

    另外构造一个info对象,点击Next时,将MyForm中的需要保存的数据传给info对象,并将info的引用传入NextForm,当点击上一不时,MyForm根据info对象来加载已保存的数据
      

  5.   

    不用这么麻烦把,在NextForm中我只需要把Hide的MyForm窗体调出来即可啊。关键是不知道怎么调出来啊
      

  6.   

    构造函数这样写NextForm(MyForm myForm){ ... }
      

  7.   

    感觉不用那么麻烦吧,MyForm的窗口实际上还是存在的,只是怎么调出来啊。有没有相关的代码看下啊
      

  8.   

    下面这个方法并不完整,也不健壮。但是,我想应该可以为楼主提供一个思路。
    // 在MyForm中
    private NextForm nextForm;private void Next_Click(object Sender, EventArgs e)
    {
        if(this.nextForm == null)
        {
            this.nextForm = new NextForm();
            this.nextForm.PreForm = this;
            this.Visible = false;
            this.nextForm.Show();
        }
        else
        {
            this.Visible = false;
            this.nextForm.Show();
        }
    }// 在NextForm中
    private MyForm preForm;public MyForm PreForm
    {
        set{preForm = value;}
    }private Last_Click(object Sender, EventArgs e)
    {
        if(preForm != null)
        {
            this.Visible = false;
            this.preForm.Visible = ture;
        }
    }
      

  9.   

    谢谢,楼上的方法就是我想要的方法。不过有点需要修改,也就是在Next_Click的else语句中也需要加上this.nextForm.PreForm = this;这种方法还是不够健壮的,但基本上能完成这种向导操作。