| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:窗体退出时的问题
只看楼主 加入收藏
zh198783
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-7-17
结帖率:71.43%
收藏
 问题点数:0 回复次数:4 
窗体退出时的问题
我在做一个写字板,我点关闭时,想有个提示,以下是我的代码,可是点取消是不保存就退出,点否,没反应,怎么回事啊,我的代码应该没问题的
 if (MessageBox.Show("内容已被修改过,是否保存?", "写字板", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
            {
                保存SToolStripMenuItem_Click(sender, e);
            }
         else  if (MessageBox.Show("内容已被修改过,是否保存?", "写字板", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
                return;
            }
            else            {
                this.Close();
            }
搜索更多相关主题的帖子: 窗体 
2008-10-17 13:59
guang
Rank: 4
来 自:广东深圳
等 级:贵宾
威 望:13
帖 子:1414
专家分:285
注 册:2006-4-3
收藏
得分:0 
给个例子你:
protected override void OnFormClosing(FormClosingEventArgs e)
        {
            base.OnFormClosing(e);
            if (MessageBox.Show("确定要关闭窗口?", "提示", MessageBoxButtons.YesNo) != DialogResult.Yes)
                e.Cancel = true;
        }

不相信未作牺牲竟先可拥有,只相信靠双手找到我的欲求!!
我的博客:http://liao5930.blog.
2008-10-17 15:42
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
收藏
得分:0 
你的close()写的地方不对
如果你这个函数是写在一个普通按钮里的,那么DialogResult.Cancel的时候就应该close()掉,不应该再来else
要是调用的窗口关闭事件,最好写在FormClosing事件里面
if (MessageBox.Show("内容已被修改过,是否保存?", "写字板", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
{
       保存SToolStripMenuItem_Click(sender, e);
}
这样应该就可以了

[[it] 本帖最后由 shmilylee 于 2008-10-17 17:33 编辑 [/it]]


太可恶了,居然不能超过100个字符!
这区区100个又怎么能概括我平凡而又伟大的一生!
2008-10-17 17:31
yemeng54
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-9-20
收藏
得分:0 
同意楼上
2008-10-17 23:00
recole725
Rank: 1
来 自:广州省广州市
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-10-1
收藏
得分:0 
private void Form1_FormClosing(object sender, FormClosingEventArgs e)//Form1是你要关闭的窗体名称
        {
            DialogResult exitConfirm = MessageBox.Show("内容已被修改过,是否保存?", "写字板", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
            if (exitConfirm == DialogResult.Yes)
            {
                //点"Yes"保存
                //saveMethod();
            }
            else if (exitConfirm == DialogResult.No)
            {
                //点“No”
                Application.Exit();//或者直接用 Close();
            }
            else// if (exitConfirm == DialogResult.Cancel)
            {
                e.Cancel = true;
            }
        }
//不行直接上 www. 问,或mail to me

[[it] 本帖最后由 recole725 于 2008-10-17 23:33 编辑 [/it]]
2008-10-17 23:20
快速回复:窗体退出时的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034066 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved