日期:2014-05-18  浏览次数:20862 次

winform 窗口切换问题
我是一名初学者 ,自学C#用于课程设计,我的程序里面有些问题,我的程序中Form1为开始的登录窗口,在Form1中有timer1控件来调用Form2,Form2作为启动界面,在登录成功后进入Form3,我想实现Form1关闭,Form3打开,但是失败了,代码如下[code=C#][/code]
 private void btn1_Click(object sender, EventArgs e)
  {
  if (textBox1.Text == "" || textBox2.Text == "")
  {
  MessageBox.Show("用户名和密码不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  }
  else
  {
  if (textBox1.Text == "123" && textBox2.Text == "123")
  {
  Form3 system = new Form3();
  system.ShowDialog();
  this.Close();  
  }
  else
  {
  MessageBox.Show("输入的用户名或密码有误,请重新输入!","警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  }
  }  
  }
在 Form3 中调用Form4,在Form4退出的时候 他的Formclosing事件 代码如下[code=C#][/code]
 private void Form4_FormClosing(object sender, FormClosingEventArgs e)
  {
  DialogResult re = MessageBox.Show("你确定你保存了以及要进入功能选择界面吗?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  if (re == DialogResult.Cancel)
  {
  e.Cancel = true;
  }
  Form3 Showwen = new Form3(); //打开 Form3 窗口,前面的 Form3 只是处于隐藏状态
  Showwen.Show();
  }
之后会出现 Form3 不过会出现询问 有Form3的Formclosing事件引起 代码[code=C#][/code]
 private void Form3_FormClosing(object sender, FormClosingEventArgs e)
  {
  DialogResult re = MessageBox.Show("你确定要退出吗?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
  if (re == DialogResult.Cancel)
  {
  e.Cancel = true;
  }
  }
我不知道为什么 窗口切换做不了 请大虾们帮忙 如果可以的话 请留下邮箱 我把代码发给你们帮解决一下 谢谢!

------解决方案--------------------
楼主啊 把分给乐儿把 直接关闭窗口是么 太简单了 
你新建窗口的时候用这个
C# code
using System.Threading;//这是引用
 new Thread(() => Application.Run(new Form2())).Start();