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

c#中windows应用程序如何跳转窗体(如何关闭)
应用程序窗体都会有最小化,最大化,和关闭
如果在form1跳转到form2
使用的方法是隐藏form1 显示form2的话,按form2的关闭图标(就是右上角的那个交叉按钮)只能关闭form2,不能把应用程序整个关闭,如果我想要关闭任意一个form的都可以实现关闭整个程序要如何写,另外的话,如果按那个关闭键,需要弹出一个提示框,提示确认关闭和返回程序,又该如何写,希望各位大侠们能帮助我!!!
谢谢!!!

------解决方案--------------------
Application.Exit();
------解决方案--------------------
你隐藏了Form1,在关闭From2后其实Form1仍在后台运行,所以下次运行时会报“当前程序正在被另一个进程使用...”错,其实解决办法很简单,就是在那两个窗体关闭的关闭事件中写一行代码,关闭当前所有进程即可:
[code=C#][/code]//Form1窗体关闭事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Application.ExitThread();//关闭该线程上的所有窗体
}
[code=C#][/code]]//Form2窗体关闭事件
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Application.ExitThread();//关闭该线程上的所有窗体
}

这样做就不会发生你遇到的情况了


------解决方案--------------------
1.如果在Form1的窗体上添加一个跳转至Form2的按钮
2.然后双击该按钮,在它的单击事件中添加这些代码
3.Form2 form2 = new Form2();
form2.show();
即可实现从窗体1跳转至窗体2
4.关闭窗体的方法:
(1)this.Close();
(2)Application.Exit();
(3)this.Dispos();
------解决方案--------------------
if(MessageBox.Show("确定要关闭吗","提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
{
Application.exit()
}
else
{
 不做任何处理
}
------解决方案--------------------
探讨
if(MessageBox.Show("确定要关闭吗","提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
{
Application.exit()
}
else
{
不做任何处理
}

------解决方案--------------------
需要两步:
一. 要添加Form2_FormClosing事件,在添加此方法之前首先要在Form2的初始化(initialization)中注册此事件
this.FormClosing += //具体代码我打不出来,vs会提示的

二. Form.cs中的代码(手打的,难免有拼写错误):
private void Form2_FormClosing(object sender, FormClosingEventArgs e) 

if(MessageBox.Show("您即将退出系统,您确定吗?","您确定关闭本窗体吗?",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes) 

Application.exit() 

else 

e.Cancel;
}
}
------解决方案--------------------
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否关闭", "系统提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
return;
}
else
e.Cancel = true;

}