【求助】C#窗体编程的问题
我现在有俩个窗体,我在俩个窗体的FormClosing事件中写下了如下代码:
string F4(F5) = MessageBox.Show("确定退出吗?", "退出游戏", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString().ToLower();
if (F4(F5) == "yes")
{
Dispose();
Application.Exit();
}
else
{
e.Cancel = true;
}
但是问题就来了,当我点完Form4中的按钮,打开Fomr5时,点击,就会跳出俩个这样的窗体(注:当我点完Form4的按钮,打开Form5时,Form4就会隐藏起来,当我点关闭Form5时,Form4也会关闭,所以会弹出俩个退出窗体,我也试过用 i f 语句编写:如果触发一次退出窗体,就不会再触发第二次,结果因为知识缺乏结果没有成功,请大家帮帮我,谢谢)
追问:只要关闭一个Form 其他的也关闭
答案:public static bool yesorno = false;
string F5 = MessageBox.Show("确定退出吗?", "退出游戏", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString().ToLower();
if (F5 == "yes")
{
yesorno = true;
}
else
{
e.Cancel = true;
}
bool yesorno = Form5.yesorno;
if (Form5.yesorno == true)
{
Dispose();
Application.Exit();
}
else
{
string F4 = MessageBox.Show("确定退出吗?", "退出游戏", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString().ToLower();
if (F4 == "yes")
{
Dispose();
Application.Exit();
}
else
{
e.Cancel = true;
}
}
Application.Exit();
这是整个程序退出吧,为什么要这样用?
你是想关闭一个FORM,保留另一个FORM,还是要全关了?
把application.exit去了。
在form5里面定义一个静态的全局变量标记是否关闭了form5
public static bool isClose = false;
在form5的关闭事件里面让 isClose = true;
在form4的关闭事件里面判断
if(form5.isClose == true){
}
上一个:请问有谁能帮我解释一下下面这段代码的意思,里面很多东西看不懂: - C#编程 -
下一个:谁有c#的编程软件