两个窗体f1和f2:
当我点击f1上的“下一步”按钮时,显示f2并使f1不可见(我是:this.Hide();new一个f2,f2.ShowDialog(););
当我点击f2上的“上一步”按钮时,返回f1,并使f2不可见(这个时候应该怎么写?f2.Hide();f1.ShowDialog();???)。
f1是程序启动窗体,它是通过Application.Run(new Form1());来实例化的,所以我上面不知道该怎么写了!

解决方案 »

  1.   

    f2中
    private void 上一步_Click(System.Object sender,
                System.EventArgs e)
    {
     this.DialogResult = DialogResult.ok;
    }f1中
    private void 下一步_Click(System.Object sender,
                System.EventArgs e)
    {
     f1.Hide();
     f2 f2 = new f2();
     if(f2.ShowDialog() == DialogResult.OK)
     {
      f1.visible = true; 
     }
    }
      

  2.   

    f1的实例化实在program.cs里面完成的:Application.Run(new   Form1());
    我应该怎么写?把原来的实例化删除,再在别的地方重新实例化?
      

  3.   

    不需要
    既然用了模式对话框,就用button事件实现即可
    你已经把f1隐藏了,只要关闭模式对话框的时候判断是否单击了上一步按钮
    如果是现实即可
      

  4.   

    用参数把f1传过去
    //f1中
    private void 上一步_Click(object sender, EventArgs e)
    {
        this.Hide();
        Form2 f2 = new Form2(this);
        f2.Show();
    }
    //f2中
    Form1 f1;
    public Form2(Form1 f)
    {
        f1 = f;
        InitializeComponent();
    }
    private void 上一步_Click(object sender, EventArgs e)
    {
        this.Hide();
        f1.Show();
    }
      

  5.   

    可能我没有说清楚,再详细的说一下!
    两个窗口类form1form2program.cs里面Application.Run(new   Form1());,启动窗口为form1的一个实例,无名字,该窗口中有一按钮“下一步”。当点击“下一步”时,
    this.Hide();form2 f2=new form2();f2.ShowDialog();(此时转到窗口f2)。
    窗口f2上有一个按钮“上一步”,点击“上一步”按钮时,讲f2隐藏掉,而将最开始的那个无名字的窗口显示出来,应该怎么写呢?
    如果想这样写的话:this.Hide();可以将f2隐藏掉,那怎么将前面那个窗口显示出来呢?前面那个窗口无名字啊!
    谢谢各位大侠!
      

  6.   

    我汗,敢情4楼写得那么详细都白写了,你试过没有昨天临睡前没有考虑Form2重复实例化的问题,改用单例模式//f1中
    Form2 f2;
    private void 下一步_Click(object sender, EventArgs e)
    {
        this.Hide();
        if (f2 == null || f2.IsDisposed)
        {
            f2 = new Form2(this);
            f2.ShowDialog();
        }
        else
        {
            f2.ShowDialog();
            f2.Activate();
        }
    }
    //f2中
    Form1 f1;
    public Form2(Form1 f)
    {
        f1 = f;
        InitializeComponent();
    }
    private void 上一步_Click(object sender, EventArgs e)
    {
        this.Hide();
        if (f1 != null)
        {
            f1.Show();
        }
    }如果写到这样你还不知道怎么用,我也无话可说,自己找本基础的书去看吧
      

  7.   

    疯了
    给你代码你写在button事件里面自己看看好不好?