c# opendialog怎么打开一个不存在的文件(直接创建)

Carpe_D1em 2017-11-21 06:46:38
点击打开的时候会直接创建这个不存在的文件,怎么弄
...全文
865 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carpe_D1em 2017-11-24
  • 打赏
  • 举报
回复
引用 22 楼 chb345536638 的回复:
[quote=引用 17 楼 xuzuning 的回复:] 好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
可通过FileOk事件做到


 openFileDialog1.CheckFileExists = false; //设置不弹出警告
 openFileDialog1.FileOk += openFileDialog1_FileOk;//关联事件方法

 private void openFileDialog1_FileOk(object sender,
    CancelEventArgs e)
        {
            //创建文件           
        }
[/quote] 嗯 问题解决了 其实我本意就是想问这个FileOk这个怎么用的 还是你懂我 哈哈哈哈哈哈哈
Carpe_D1em 2017-11-24
  • 打赏
  • 举报
回复
需求确实挺奇葩的 明明有SFD 感谢各位大佬 不过暂时没找到什么好的解决办法 几位说的那种先判断文件存不存在之类的我提问之前就试过了
引用 25 楼 chb345536638 的回复:
[quote=引用 23 楼 xomix 的回复:] [quote=引用 22 楼 chb345536638 的回复:] [quote=引用 17 楼 xuzuning 的回复:] 好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
可通过FileOk事件做到


 openFileDialog1.CheckFileExists = false; //设置不弹出警告
 openFileDialog1.FileOk += openFileDialog1_FileOk;//关联事件方法

 private void openFileDialog1_FileOk(object sender,
    CancelEventArgs e)
        {
            //创建文件           
        }
[/quote] 你们用打开文件的弹出窗体创建文件不觉得有点怪吗[/quote] 哈哈,楼主有这个奇葩需求啊,跟客户一样[/quote]
  • 打赏
  • 举报
回复
引用 17 楼 xuzuning 的回复:
好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
这种时候本来就该用SaveFileDialog。 这东西说到底都是windows api 的调用,这两个对象其实是一个api的两种调用。我也不知道为啥这玩意儿要分成两个。话说这东西能跳过当年万象等程序的限制浏览文件,也是很有趣的。
cgc200310 2017-11-22
  • 打赏
  • 举报
回复
public static void WriteFile(string str) { StreamWriter sr; if (File.Exists(FILE_NAME)) //如果文件存在,则创建File.AppendText对象 { sr = File.AppendText(FILE_NAME); } else //如果文件不存在,则创建File.CreateText对象 { sr = File.CreateText(FILE_NAME); } sr.WriteLine(str); sr.Close(); }
xuzuning 2017-11-22
  • 打赏
  • 举报
回复
好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
  • 打赏
  • 举报
回复
引用 13 楼 From_TaiWan 的回复:
[quote=引用 12 楼 xomix 的回复:] [quote=引用 10 楼 From_TaiWan 的回复:]

打开openFileDialog对话框;
if(你输入的文件名存在)
{
    处理文件;
}
else
{
    新建一个文件;
}

有标准的SaveFileDialog为什么要用Open的凑合呢?[/quote]我猜lz的意思是:调用open对话框,要是没有这个文件,就创建一个。我也是猜的[/quote] save的对话框和open的是一样的…… open的对话框文件不存在会直接报错的……
秋的红果实 2017-11-22
  • 打赏
  • 举报
回复
引用 12 楼 xomix 的回复:
[quote=引用 10 楼 From_TaiWan 的回复:]

打开openFileDialog对话框;
if(你输入的文件名存在)
{
    处理文件;
}
else
{
    新建一个文件;
}

有标准的SaveFileDialog为什么要用Open的凑合呢?[/quote]我猜lz的意思是:调用open对话框,要是没有这个文件,就创建一个。我也是猜的
  • 打赏
  • 举报
回复
引用 10 楼 From_TaiWan 的回复:

打开openFileDialog对话框;
if(你输入的文件名存在)
{
    处理文件;
}
else
{
    新建一个文件;
}

有标准的SaveFileDialog为什么要用Open的凑合呢?
秋的红果实 2017-11-22
  • 打赏
  • 举报
回复

打开openFileDialog对话框;
if(你输入的文件名存在)
{
    处理文件;
}
else
{
    新建一个文件;
}

exception92 2017-11-22
  • 打赏
  • 举报
回复
只有openFileDialog吧
巴士上的邂逅 2017-11-22
  • 打赏
  • 举报
回复
不存在怎么能打开呢?你所谓的“要打开的文件”都是不存在的吗?如果是的话,你的“打开”应该改成“保存”或者“另存为”
vlevle 2017-11-22
  • 打赏
  • 举报
回复
通常只有“打开”和“另存”功能
  • 打赏
  • 举报
回复
引用 23 楼 xomix 的回复:
[quote=引用 22 楼 chb345536638 的回复:] [quote=引用 17 楼 xuzuning 的回复:] 好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
可通过FileOk事件做到


 openFileDialog1.CheckFileExists = false; //设置不弹出警告
 openFileDialog1.FileOk += openFileDialog1_FileOk;//关联事件方法

 private void openFileDialog1_FileOk(object sender,
    CancelEventArgs e)
        {
            //创建文件           
        }
[/quote] 你们用打开文件的弹出窗体创建文件不觉得有点怪吗[/quote] 哈哈,楼主有这个奇葩需求啊,跟客户一样
  • 打赏
  • 举报
回复
你要打开的文件路径先做判断存在不存在,不存在就创建,,,然后再去打开不就没问题了?
  • 打赏
  • 举报
回复
引用 22 楼 chb345536638 的回复:
[quote=引用 17 楼 xuzuning 的回复:] 好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
可通过FileOk事件做到


 openFileDialog1.CheckFileExists = false; //设置不弹出警告
 openFileDialog1.FileOk += openFileDialog1_FileOk;//关联事件方法

 private void openFileDialog1_FileOk(object sender,
    CancelEventArgs e)
        {
            //创建文件           
        }
[/quote] 你们用打开文件的弹出窗体创建文件不觉得有点怪吗
  • 打赏
  • 举报
回复
引用 17 楼 xuzuning 的回复:
好想你们都是不用 OpenFileDialog 的 OpenFileDialog 在文件栏填写不存在的文件名并点击打开时,就会出现文件不存在的警告 此时控制尚未回到 C# 程序,所以对结果放入判断处理都是痴人说么梦 虽然 OpenFileDialog 提供有 CheckFileExists 属性(获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。),但实测无效
可通过FileOk事件做到


 openFileDialog1.CheckFileExists = false; //设置不弹出警告
 openFileDialog1.FileOk += openFileDialog1_FileOk;//关联事件方法

 private void openFileDialog1_FileOk(object sender,
    CancelEventArgs e)
        {
            //创建文件           
        }
Carpe_D1em 2017-11-21
  • 打赏
  • 举报
回复
我知道 但是我不想让这个显示啊 不存在文件直接创建啊
njit_77 2017-11-21
  • 打赏
  • 举报
回复
你判断文件是否存在,不存在返回即可;存在就打开。

110,561

社区成员

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

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

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