7

このコードを使用してファイルを開くと

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

ウィンドウが表示され、ファイルを選択するように求められます (画像でわかるように、ファイル名は空白です)。

ここに画像の説明を入力

[開く] ボタンを 2 回押してファイルを開くと、ファイル名には以前に選択したファイルのパスが表示されます (画像を参照) 彼が [開く] ボタンを押すたびにこのパスをクリアするにはどうすればよいですか?

ここに画像の説明を入力

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

を呼び出す前に、次の行を追加するだけですShowDialog()

ofd.FileName = String.Empty;
于 2012-06-19T08:34:56.967 に答える
3

ファイル名をリセットする必要があります。

   openFileDialog1.FileName= "";

または

   openFileDialog1.FileName= String.Empty()
于 2012-06-19T08:32:51.270 に答える
1

(選択したパスではなく) ファイル名だけをクリアするには、プロパティFileNameを に設定しますstring.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 に答える