C#关于关闭窗体事件!

我想在Form1点关闭的时候出现Form2窗体,然后点击Form2的确定按钮退出整个程序,点击取消则Form2关闭,怎么做?... 我想在Form1点关闭的时候出现Form2窗体,然后点击Form2的确定按钮退出整个程序,点击取消则Form2关闭,怎么做? 展开
 我来答
vermilion36
推荐于2017-09-04 · TA获得超过3372个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:315万
展开全部
你是不是要在用户点击关闭时 提示用户是否关闭程序??

这样的话 没必要再加一个Form2啦

直接为Form1添加一个Form1_FormClosing事件在事件中写入以下代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult.OK == MessageBox.Show("你确定要关闭应用程序吗?", "关闭提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
{
this.FormClosing -= new FormClosingEventHandler(this.Form1_FormClosing);//为保证Application.Exit();时不再弹出提示,所以将FormClosing事件取消
Application.Exit();//退出整个应用程序
}
else
{
e.Cancel = true; //取消关闭事件
}
}

如果你确定想这样做 也可以 在Form1代码:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;//取消关闭事件
Form2 f2 = new Form2();
if (DialogResult.OK == f2.ShowDialog())//让Form2以模式窗口显示,就是说Form2显示时 Form1无法成为焦点
{
this.FormClosing -= new FormClosingEventHandler(this.Form1_FormClosing);//为保证Application.Exit();时不再弹出提示,所以将FormClosing事件取消
Application.Exit();
}
}

Form2中两个按钮事件代码:
private void btnOK_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}

private void btnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
lzh3452
2012-01-01 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:859万
展开全部
你是想再点击关闭的时候弹出一个确认对话框吧?
你可以定义一个Form1的Closing事件,在事件里弹出确认对话框,根据结果判断是否关闭Form1,Closing事件的传入参数e有一个属性,设置为true就可以取消关闭。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友42ba240c
2012-01-01 · 超过24用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:52.7万
展开全部
这是基础好不好,这种问题书上一大堆,或者是网上一搜一大堆,有问题一搜就出来的。这种问题还要问啊...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a00ce0841a
2012-01-01 · TA获得超过303个赞
知道小有建树答主
回答量:784
采纳率:0%
帮助的人:436万
展开全部
无语。你Form2弹出的时候Form1还在吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式