c# 退出时加一个确认窗口(为什么 e.Cancel=true 不让用呢)

happy04110411 2012-05-21 12:49:42
提升 e 不包含 Cancel 的定义?????? 我主要想实现点击CANCEL的时候,消息框消失,窗体还在就行


private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{

if (MessageBox.Show("请您确认是否退出(Y/N)", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
{

Application.Exit();


}
else
{

e.Cancel=true;


}
...全文
1022 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy04110411 2012-05-21
  • 打赏
  • 举报
回复
8楼的方法是可以,但是好像程序不是完全退出了,应该是进程还在,程序也没结束调试,就是进入终端了
happy04110411 2012-05-21
  • 打赏
  • 举报
回复
8楼的是可以退出了,但是整个进程没结束啊
happy04110411 2012-05-21
  • 打赏
  • 举报
回复
哦,不好意思, 我这个不是第一个启动窗体, 是第二个窗体,并设置为父窗体了
xxjltan 2012-05-21
  • 打赏
  • 举报
回复
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
DialogResult r = MessageBox.Show("确定要退出程序?", "关闭确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (r != DialogResult.OK)
{
e.Cancel = true;

}
}
}
jimh 2012-05-21
  • 打赏
  • 举报
回复
不要在FormClosing里面调用Application.Exit();
一般情况下不需要调用Application.Exit();主窗口关闭后程序自然就结束了,
如果要处理一些如释放资源,保存状态等操作,在FormClosed里执行。
mathieuxiao 2012-05-21
  • 打赏
  • 举报
回复

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
DialogResult result;

result = MessageBox.Show("您确定要退出系统吗?", "请确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

if (result == DialogResult.OK)
{
Application.Exit();

}
else
e.Cancel = true;
}
}
happy04110411 2012-05-21
  • 打赏
  • 举报
回复
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result;

result = MessageBox.Show("您确定要退出系统吗?","请确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);

if (result == DialogResult.OK)
{
Application.Exit();

}
else
e.Cancel = true;
}


这回到是可以了,但是还有新的问题, 就是执行到 Application.Exit();以后,会有执行一遍private void Form1_FormClosing(object sender, FormClosingEventArgs e)
, 就是说点击确认后不直接退出,有出来一遍?????


xixihaha_2011_098 2012-05-21
  • 打赏
  • 举报
回复
FormClosing事件 关闭时触发,colosed事件关闭完成后触发.
test2050 2012-05-21
  • 打赏
  • 举报
回复
对,事件弄错了。
test2050 2012-05-21
  • 打赏
  • 举报
回复
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{

if (MessageBox.Show("请您确认是否退出(Y/N)", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.YesNo)
{

Application.Exit();


}
else
{

'e.Cancel=true; 什么也不处理就是了


}
bdmh 2012-05-21
  • 打赏
  • 举报
回复 1
FormClosing事件,不是colosed事件
红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧