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

Carpe_D1em 2017-11-21 06:46:38
点击打开的时候会直接创建这个不存在的文件,怎么弄
...全文
644 27 点赞 打赏 收藏 举报
写回复
27 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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吧
  • 打赏
  • 举报
回复
不存在怎么能打开呢?你所谓的“要打开的文件”都是不存在的吗?如果是的话,你的“打开”应该改成“保存”或者“另存为”
  • 打赏
  • 举报
回复
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
你判断文件是否存在,不存在返回即可;存在就打开。
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-21 06:46
社区公告

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