2012-06-19 13 views
7

Gdy otwieram plik przy użyciu tego koduC# OpenFileDialog

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

oknem pojawiają się i pytają mnie, aby wybrać plik (nazwa pliku jest puste, jak widać na obrazku)

enter image description here

Jeśli po raz drugi naciskam przycisk Otwórz, aby otworzyć plik, Nazwa pliku pokazuje ścieżkę poprzedniego wybranego pliku (patrz zdjęcie) Jak mogę wyczyścić tę ścieżkę za każdym razem, gdy naciska przycisk Otwórz?

enter image description here

Odpowiedz

11

Prawdopodobnie stosując tę ​​samą instancję OpenFileDialog każdym kliknięciu przycisku, co oznacza, że ​​poprzednia nazwa pliku jest nadal przechowywane w nieruchomości FileName. należy usunąć właściwość FileName zanim wyświetli okno dialogowe ponownie:

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

Trzeba zresetować nazwę.

openFileDialog1.FileName= ""; 

Albo

openFileDialog1.FileName= String.Empty() 
1

Aby usunąć tylko nazwę pliku (a nie wybraną ścieżkę), można ustawić właściwość FileName do string.Empty.

3

można po prostu dodać tę linię przed wywołaniem ShowDialog():

ofd.FileName = String.Empty; 
0
private void button1_Click(object sender, EventArgs e) 
    { 
     openFileDialog1.ShowDialog(); 
    } 

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

Co o tym.

6

spróbuj tego:

ofd.FileName = String.Empty; 
Powiązane problemy