如何实现“是否保存”的功能 vc#2005 就像记事本的“保存提示”功能一样。点击右上角的叉后,如果文档已修改,即弹出是否保存的对话框;若没修改,不弹出对话框,直接保存。我的问题是:如何知道正在操作的文件(如xml文件或txt文件)已经被修改过了还是没有修改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在打开时设置一个标志,在编辑的(TextBox)控件的键盘事件中改变标志,当退出时根据标志就可以了... 定义一个全局或者静态的bool变量Need_Save初始化为false;在textbox的keypress事件里为Need_Save赋为true;(如果在textchange事件里写代码,那么载入后不修改也会让你保存的)最后在Form_Closing事件里面判断Need_Save即可 1 处理编辑框的TEXT_CHANGED事件, 在该事件中执行 m_bModify = true;2 处理 form_closing 事件 if (m_bModify) { n = MessageBox(是否保存, YesNoCancel)? switch(n) { case Yes: save(); break; case No: break; case Cancel: e.Cancel = true;/*终止窗口关闭*/ break; } } 1.定义一个全局或者静态的bool变量Need_Save初始化为false; 在textbox的keypress事件里为Need_Save赋为true;(如果在textchange事件里写代码,那么载入后不修改也会让你保存的) 最后在Form_Closing事件里面判断Need_Save即可very good!!!2.检查该文件的修改时间,你改了,时间就会变sounds good !! 为楼上做补充:如果处理TEXT_CHANGED事件,那么要过滤掉第一次载入时的TEXT_CHANGED,因为载入也会导致textbox的内容改变,但是如果用户没有修改是不需要询问保存的。所以我建议处理key_press事件。 text changed不错,用这个方法可以判断是否修改了文本框 关于子菜单项问题 这样的数据库死锁如何避免? 用C#实现UDP通信的问题 请各位高手帮帮我,关于的.net/C#问题 急!急!急!如何让控件随着窗口改变大小和位置? 关于TextBox的问题,在线等待 LINQ 数据处理。求帮忙。 如何把RichTextBox内容与数据库表进行绑定? c# 怎么和arduino进行蓝牙通信 小白求解救!!! MethodInfo.Invoke方法出现TargetInvocationException异常问题。。。 在没有任何数据时进行无效的读取尝试?怎么回事?大家帮忙看一下
在textbox的keypress事件里为Need_Save赋为true;(如果在textchange事件里写代码,那么载入后不修改也会让你保存的)
最后在Form_Closing事件里面判断Need_Save即可
2 处理 form_closing 事件
if (m_bModify)
{
n = MessageBox(是否保存, YesNoCancel)?
switch(n)
{
case Yes: save(); break;
case No: break;
case Cancel: e.Cancel = true;/*终止窗口关闭*/ break;
}
}
在textbox的keypress事件里为Need_Save赋为true;(如果在textchange事件里写代码,那么载入后不修改也会让你保存的)
最后在Form_Closing事件里面判断Need_Save即可very good!!!2.检查该文件的修改时间,你改了,时间就会变
sounds good !!
如果处理TEXT_CHANGED事件,那么要过滤掉第一次载入时的TEXT_CHANGED,因为载入也会导致textbox的内容改变,但是如果用户没有修改是不需要询问保存的。所以我建议处理key_press事件。