本帖最后由 sh233 于 2010-11-23 05:43:52 编辑

解决方案 »

  1.   

    在From1中
    private void  button1_Clik(sender object ,Eventargs  e)
    {
     Form2  frm2=new From2 ();
     frm2.Owner=this;//设置当前From1的实例窗体为frm2的拥有者,以便在From2中通过此关系来调用From1的实例
     frm2.Show();
    }
    在From2中登录按钮里写
    private void  button2_Clik(sender object ,Eventargs  e)
    {
      bool isVilidated=false;
      …………………………//在此处写验证代码
      if(isVilidated)
    {
      this.Owner.Hide();
      From3 frm3=new Form3();
      frm3.Show();
      this.Close();
    }
    else
    {
     MessegeBox.Show("登录验证失败!请重新检查填写内容!");
    }
    {
      
    }
    }
    这个只是一种方法,希望能对你有用!如果你学了事件与委托,用那个也行!在此我就不贴出了。
      

  2.   

    成功了 谢谢你
    不过就是 在from3 显示的时候 from2 关闭的有点迟 会闪一下 不知道是为啥
    和代码顺序没有关系 不知道是什么原因 要不我们先不着急结贴 看大家有没有别的方法
      

  3.   

    from1的事件
            private void btnCan_Click(object sender, EventArgs e)
            {
               form3 for3= new form3();
               form2 f2= new form2(for3)
                             f2.ShowDialog();
                   this.hide();
            }在form2的窗体
    form3 for3;
    public void form2(form3)
    {
       this.for3=form1;
    }
     private void btnform2_Click(object sender, EventArgs e)
            {
    //验证代码
             成功      f3.Show();
                   this.close();
            }