7

当我使用此代码打开文件时

if (ofd.ShowDialog() == DialogResult.OK)
     text = File.ReadAllText(ofd.FileName, Encoding.Default);

出现一个窗口并要求我选择文件(文件名是空白的,如您在图像上看到的)

在此处输入图像描述

如果我第二次按“打开”按钮打开文件,“文件名”会显示上一个选定文件的路径(参见图片)每次按“打开”按钮时如何清除此路径?

在此处输入图像描述

4

6 回答 6

11

OpenFileDialog每次单击按钮时,您可能都使用相同的实例,这意味着之前的文件名仍存储在FileName属性中。FileName您应该在再次显示对话框之前清除该属性:

ofd.FileName = String.Empty;
if (ofd.ShowDialog() == DialogResult.OK)
     text = File.ReadAllText(ofd.FileName, Encoding.Default);
于 2012-06-19T08:32:54.907 回答
6

试试这个:

ofd.FileName = String.Empty;
于 2012-06-19T09:34:41.440 回答
3

您需要重置文件名。

   openFileDialog1.FileName= "";

或者

   openFileDialog1.FileName= String.Empty()
于 2012-06-19T08:32:51.270 回答
3

您可以在调用之前简单地添加此行ShowDialog()

ofd.FileName = String.Empty;
于 2012-06-19T08:34:56.967 回答
1

要仅清除文件名(而不是选定的路径),您可以将属性设置FileNamestring.Empty.

于 2012-06-19T08:33:11.333 回答
0
private void button1_Click(object sender, EventArgs e)
    {
        openFileDialog1.ShowDialog();
    }

    private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
    {
        label1.Text = sender.ToString();
    }

这个如何。

于 2012-06-19T08:43:12.560 回答