Frage

Ich habe ein Programm, wo ich bin mit Fenster Form, in dieser Form ich Openfile verwenden, wo ich eine Datei in einem Verzeichnis öffnen. Dann benutze ich in einer anderen Funktion ein Stream und ich habe eine zweite Datei in meinem großen / Debug-Verzeichnis, das ich die Stream öffnen möge. Aber aus irgendeinem Grund, nachdem ich öffnen Sie die erste Datei mit dem Openfile die Stream Looks für die zweite Datei in diesem Verzeichnis statt in bin / Debug wie üblich.

Wer weiß, warum er das tut und wie ich es lösen kann?

Vielen Dank im Voraus,

Greg

War es hilfreich?

Lösung

Die OpenFileDialog hat dieses Verhalten; es ändert das aktuelle Verzeichnis für die Anwendung. Um zu verhindern, dass dies geschieht, können Sie die RestoreDirectory Eigenschaft des OpenFileDialog.

Andere Tipps

Wenn Sie Verzeichnis in einem offenen Dateidialog ändern, dies führt auch zu Ihrer Anwendung Arbeitsverzeichnis zu ändern. Also, wenn Sie relative Pfade zu verwenden versuchen, es an der falschen Stelle suchen.

Die Lösung ist RestoreDirectory .

Wenn Sie keinen vollständigen Dateipfad angeben, sondern nur einen Dateinamen, das bedeutet, dass die Datei im aktuellen Verzeichnis befindet. Wenn Sie die Openfiledialog verwenden, ändert sich das aktuelle Verzeichnis.

Wenn Sie eine Datei irgendwo unabhängig davon zugreifen möchten, was das aktuelle Verzeichnis auf, müssen Sie dafür einen vollständigen Pfad angeben. Sie können Application.StartupPath verwenden Sie den Pfad zu dem Ordner zu bekommen, wo Ihr Programm ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top