当前位置:编程学习 > C#/ASP.NET >>

【求助】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#的编程软件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,