C#窗体关闭问题...

j432432432432432 2009-12-17 09:47:54
当鼠标点击窗体右上角的那个 X 就是关闭窗体,要求弹出一个提示! 显示 1退出 2最小化 如果选择 退出 就关闭窗体
如果选择 最小化 就把窗体最小化,








谢谢啦啊帅哥们帅姐们 小弟向你们致敬!
...全文
289 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
j432432432432432 2009-12-19
  • 打赏
  • 举报
回复
结贴了
j432432432432432 2009-12-19
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 spmzfz 的回复:]
MSDN:

在 .NET Framework 2.0 版中,OnClosing 方法已过时;请改用 OnFormClosing 方法。

当调用 Application.Exit 方法退出应用程序时,不会调用 OnClosed 和 OnClosing 方法。如果在必须执行的任一个方法中有验证代码,则在调用 Form.Close 方法之前,应分别为每个打开的窗体调用 Exit 方法。

        protected override void OnFormClosing(FormClosingEventArgs e)
        {
          //...
        }
[/Quote]

这个可以用已经解决了谢谢你们。 但是那个在窗体关闭时的事件 里面写 e.Cancel = true; e. 点不出 Cancel这个属性,不知道怎回事。我用的是VS2005 你们这些认真好,我有什么不懂的都可以问 好好学习,天天向上
骆驼行者 2009-12-19
  • 打赏
  • 举报
回复
该结贴了
huangzhe10 2009-12-19
  • 打赏
  • 举报
回复
Form1_FormClosing
loner4 2009-12-19
  • 打赏
  • 举报
回复
顶,一楼的办法
chmeiling 2009-12-18
  • 打赏
  • 举报
回复
就是一楼说的那个方法可以
你试一下吗
summeryangyan 2009-12-18
  • 打赏
  • 举报
回复
学习~
spmzfz 2009-12-18
  • 打赏
  • 举报
回复
MSDN:

在 .NET Framework 2.0 版中,OnClosing 方法已过时;请改用 OnFormClosing 方法。

当调用 Application.Exit 方法退出应用程序时,不会调用 OnClosed 和 OnClosing 方法。如果在必须执行的任一个方法中有验证代码,则在调用 Form.Close 方法之前,应分别为每个打开的窗体调用 Exit 方法。


protected override void OnFormClosing(FormClosingEventArgs e)
{
//...
}
光模块 2009-12-18
  • 打赏
  • 举报
回复
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否现在关闭窗口", "提示",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Question) != DialogResult.OK)
{
e.Cancel = true;
}
}
我想就是这样的!!!
qqzone6789 2009-12-18
  • 打赏
  • 举报
回复
ding...
ablsy 2009-12-18
  • 打赏
  • 举报
回复
我喜欢,C语言 哈哈终于找到你们的大哥大姐们
liangzhl 2009-12-18
  • 打赏
  • 举报
回复
顶,都说得那么好了
cjnkd 2009-12-18
  • 打赏
  • 举报
回复
mzy939216 2009-12-18
  • 打赏
  • 举报
回复
这个绝对能用,点击窗口的属性下面的事件中的FormClosing事件
平生我自如 2009-12-18
  • 打赏
  • 举报
回复
在formclosing事件里写你想写的代码
焱rock 2009-12-18
  • 打赏
  • 举报
回复
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result;
result = MessageBox.Show("确定退出吗?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
//SaveIniFile();
System.Windows.Forms.Application.ExitThread();
}
else
{
e.Cancel = true;
}
}
绝对能用!
huan0727 2009-12-18
  • 打赏
  • 举报
回复
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否现在关闭窗口", "提示",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Question) != DialogResult.OK)
{
e.Cancel = true;
}
}
HarveyYan 2009-12-17
  • 打赏
  • 举报
回复
真会报错???不信有鬼


private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定要退出程序吗?", "退出确认", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
{
e.Cancel = true;
}
}

j432432432432432 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sufei1013 的回复:]
在FormCloseing事件里这样写就行了
                        if (MessageBox.Show(this, "你真的要退出?", "提示",
                                                                MessageBoxButtons.YesNo,
                                                                MessageBoxIcon.Question) == DialogResult.No)
                        {
                                e.Cancel = true;
                        }

[/Quote]

e.Cancel = true; 这里报错
苏飞论坛 2009-12-17
  • 打赏
  • 举报
回复
在FormCloseing事件里这样写就行了
if (MessageBox.Show(this, "你真的要退出?", "提示",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
加载更多回复(5)

111,120

社区成员

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

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

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