C#中保存文件对话框,如果用户保存的文件名,已存在,弹出对话框的问题 C#中保存文件对话框,如果用户保存的文件名已存在,弹出对话框询问用户:“文件名已存在,是否要进行覆盖”,无论用户选择是或否,我要得到这个回应,做后续处理。我的问题是通过什么可以得到用户所做的反应? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DialogResult result= MessageBox.Show("是否覆盖?", "确定", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { 。 } if (result == DialogResult.No) { 。。 } 事件中自己获取public event CancelEventHandler FileOk 楼主的意思是不是保存文件的时候,如果已经存在该文件,则系统提出提示,是否覆盖?如果是这样的话,就需要设置一个属性:saveFileDialog1.OverwritePrompt = true; 貌似截取不了这个消息的结果,CancelEventHandler中也没找到相应的内容可以考虑在系统的保存对话框中,不做文件存在的检查,而是自己来做检查。 SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.OverwritePrompt = false;//关闭系统默认的检查 if (DialogResult.OK == saveDialog.ShowDialog()) { if (System.IO.File.Exists(saveDialog.FileName))//检查文件是否存在 { DialogResult result = MessageBox.Show("是否覆盖?", "确定", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { } if (result == DialogResult.No) { } } } 这个估计要用API读取窗口消息吧其实你可以这样if(File.Exist(fileName)){ if(MessageBox.Show("覆盖现有文件?","提示",MessageButtons.YesNo) == DaliogResult.Yes) { File.Delete(fileName); } else { //用户取消 }} 对,我本来也想着自己写来得方便。对于这种系统提供的对话框,要截取相应的消息,就比较麻烦,这就体现了C#在这方面比VC的劣势。既然这么麻烦,C#还提供这种判断的属性有什么意义,我不能截取它,对它做任何处理,放在那边不也形同虚设吗? 呵呵 感觉这是现在很多高级语言的特点 入门容易,精通难就是因为.net封装了很多常用的功能,对于入门级的开发,只要直接调用就可以了,省时省力。 FileOk 当用户单击文件对话框中的“打开”或“保存”按钮时发生。 (继承自 FileDialog。) 当点击“打开”或“保存”时触发该事件,你可以设置一状态变量,在FileOk中置成已选择保存状态 数据库两表连接问题 方法的参数可不可以是接口的引用? 请教一下如何用c#读取U盘物理序列号 不知道各位坛友有制作QQ的素材吗? 有关下载速度瓶颈的问题 非矩形窗体 AxBARCODELib在哪找啊? 有记录,但是出现"所有记录中均未找到搜索关键字" 请问如何C#的WebForm从数据库下载二进制流形式的文件 如果,你用C#编过wqindows NT服务,不知道,是怎样安装上电脑的,是在DOS下,还是用自定义操作,来安装服务程序,还是有其它的方法?? C#如何弹出选择可用盘符对话框 最近看了个操作session和cookie的类 但是碰到问题了
DialogResult result= MessageBox.Show("是否覆盖?", "确定", MessageBoxButtons.YesNo); if (result == DialogResult.Yes)
{
。
}
if (result == DialogResult.No)
{
。。
}
事件中自己获取
public event CancelEventHandler FileOk
如果是这样的话,就需要设置一个属性:saveFileDialog1.OverwritePrompt = true;
可以考虑在系统的保存对话框中,不做文件存在的检查,而是自己来做检查。 SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.OverwritePrompt = false;//关闭系统默认的检查 if (DialogResult.OK == saveDialog.ShowDialog())
{
if (System.IO.File.Exists(saveDialog.FileName))//检查文件是否存在
{
DialogResult result = MessageBox.Show("是否覆盖?", "确定", MessageBoxButtons.YesNo); if (result == DialogResult.Yes)
{ }
if (result == DialogResult.No)
{ }
}
}
{
if(MessageBox.Show("覆盖现有文件?","提示",MessageButtons.YesNo) == DaliogResult.Yes)
{
File.Delete(fileName);
}
else
{
//用户取消
}
}
对于这种系统提供的对话框,要截取相应的消息,就比较麻烦,这就体现了C#在这方面比VC的劣势。既然这么麻烦,C#还提供这种判断的属性有什么意义,我不能截取它,对它做任何处理,放在那边不也形同虚设吗?
就是因为.net封装了很多常用的功能,对于入门级的开发,只要直接调用就可以了,省时省力。
FileOk 当用户单击文件对话框中的“打开”或“保存”按钮时发生。 (继承自 FileDialog。)
当点击“打开”或“保存”时触发该事件,你可以设置一状态变量,在FileOk中置成已选择保存状态