C# 跳转到另一个Form窗体时如何关闭当前Form窗体

C# 当从登陆窗体登陆成功跳转到主窗体时,如何把登陆窗体关闭,注意是关闭而不是隐藏(Hide),
还有当从主窗体弹出第三个窗体时,如何把主窗体变得不可用,除非关闭第三个窗体。
第二个问题解决了,谢谢!
关于第一个问题:是这样写吗?
MainMenu mm=new MainMenu();
mm.Show();
this.Close();
这样所有窗体都关闭了啊?

首先,在主窗体的构造函数中加载登录窗体,如果用户验证成功,再构造主窗体,如果不成功,就结束程序。登录系统后,通过按钮或是什么事件调用第三个窗体,在第三个窗体没关闭前使主窗体不可用,代码如下:(如主窗体为frmMain,登录窗体为frmLogin,第三个窗体为frmView)
public partial class frmMain : Form
{
public frmMain()
{
frmLogin nForm=new frmLogin(); //获取登录窗体实例
if(nForm.ShowDialog()!=DialogResult.OK) //如果登录窗体的返回值不等于OK
{
Environment.Exit(Environment.ExitCode); //退出程序
return;
}
InitializeComponent(); //构造主窗体
}

private void btnView_Click(object sender, EventArgs e) //浏览按钮点击事件,即打开第三个窗体
{
frmView nForm=new frmVIew(); //获取浏览窗体的实例
if(nForm.ShowDialog()==DialogResult.OK) //如果第三个窗体的返回值为OK
{}
}
}
如果还有不清楚的,请补充,大家共同研讨。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-01
你的登录窗体 应该在主窗体加载的时候出来。在Program.cs里面 Application.Run(new Form1()) 这句话的form1 改成mainmeun。。。然后在你的mainmeun 的load事件中写 Form1 f1 = new Form1();
f1.ShowDialog(); Form1也就是你的登录窗体
然后你再就可以在你的登陆窗体里面的写 this.Close(); 当然前面就不用MainMenu mm=new MainMenu();
mm.Show();
这些了

有不懂的嗨我
第2个回答  推荐于2017-11-23
问题一:首先 主窗体.show() 然后 登录窗体.close()
问题二:第三窗体.showdialog() 那么主窗体在第三窗体关闭前就不可用了

窗体都关闭了是因为你的登录窗口是主线程窗口,一旦关闭整个程序就结束了本回答被提问者采纳
第3个回答  2010-12-01
this.Enabled = false;

C# 跳转到另一个Form窗体时如何关闭当前Form窗体?
首先默认情况下我们的程序是单线程的,this.hide();把当前窗体隐藏起来了,然后new_form.showdialog();模态弹出新窗口。这个时候线程不会继续执行,直到我们关闭了新弹出来的模态窗口后,程序才会继续执行Application.ExitThread();此时线程关闭,所有一切都关闭了,隐藏的窗口也关闭了。

C# 跳转到另一个Form窗体时如何关闭当前Form窗体?
首先默认情况下我们的程序是单线程的,this.hide();把当前窗体隐藏起来了,然后new_form.showdialog();模态弹出新窗口。这个时候线程不会继续执行,直到我们关闭了新弹出来的模态窗口后,程序才会继续执行Application.ExitThread();此时线程关闭,所有一切都关闭了,隐藏的窗口也关闭了。

C# 跳转到另一个Form窗体时如何关闭当前Form窗体
首先,在主窗体的构造函数中加载登录窗体,如果用户验证成功,再构造主窗体,如果不成功,就结束程序。登录系统后,通过按钮或是什么事件调用第三个窗体,在第三个窗体没关闭前使主窗体不可用,代码如下:(如主窗体为frmMain,登录窗体为frmLogin,第三个窗体为frmView)public partial class frmMain : For...

C#中,当弹出Form2窗体时,如何让Form1窗体关闭?也就是说始终只有一个窗体...
Form1.closed();\/\/这个是让Form1关闭.如果Form1是初始显示的窗体,则所有窗体都要关闭(包括Form2窗体.即:Form2打开瞬间又关闭);这时就需要用下面的语句了:Form1.Hide();\/\/该语句是让Form1隐藏起来,还在运行中...当想关闭时别忘了用:Appliction.Close();希望对你有所帮助!!!

c# winform 如何在用ShowDialog()打开另一个窗体的时候关闭本窗体。
试试下面的代码,用Show();哦~~--- Form2 f2 = new Form2();f2.Show();this.Hide();

C#.NET中怎样打开一个新Form,同时关闭当前Form?
可以这样做 修改 Program.cs 文件的 Main 方法 static void Main(){ Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());Form2 frm = new Form2();frm.ShowDialog();} 如果通过验证,那么就关闭窗体1,窗体2也就自然的出来了 如果没通过...

C#中在一个窗体中点击弹出另一个窗体,同时关闭本窗体
点击按钮后this.Hide();new Form2().Show();隐藏后要让他显示的话 再次调用控件的Show()方法就好了

C#GUI编程时怎样操作一个窗口去关闭另一个窗口
1)如果是一个主窗体与一个副窗体之间传信息,那么可以用构造函数,代码如下:窗体1:namespace WindowsApplication2 { public partial class Form1 : Form { public Form1(){ InitializeComponent();} private Form2 aform2; \/\/声明一个FORM2字段 private void button1_Click(object sender, ...

C#两个窗口打开另一个以后,前一个如何关闭
Click函数体的最后一句写上 this.Close();其次,你要在弹出form2后关掉自己。这需要将form2定义在form1外。你可以在Program中生成form2的变量,但是不弹出来。在button1_Click中,使用form2.Show()显示。如果必须将form2放在form1里的话,form1就不能够完全关闭。只能用this.Hide()进行隐藏。

[C#] 一个窗口中打开另一个窗口并关闭当前窗口代码
this);f2.Show();} form2代码 private Form1 f1;public Form2(Form1 f){ InitializeComponent();f1 = f;f1.Hide();} private void Form2_FormClosing(object sender, FormClosingEventArgs e){ f1.Close();} 直接关闭的方法我没有实现,还是通过隐藏,在最后同时关闭销毁两个form实现 ...

相似回答