OpenFileDialog

Hallo Leute,

ich hab eine Applikation, welche nun um einen OpenFileDialog erweitert werden soll. Die Konfigurationsdateien liegen alle in Relativen Pfaden vor.

Beim Start der Applikation ist noch alles in Ordnung, sobald ich den OpenFileDialog starte, wird das Ausführungsverzeichen o.ä. auf den gerade ausgewählten Pfad gelegt.

Das bedeutet bei mir, die Log-Files usw. werden dann in ein anderes Verz. geschrieben.

Wie kann ich das unterbinden, dass das Arbeitsverzeichnis verändert wird?
Es ist unabhängig, ob ich die App. von VS 2003 oder direkt starte.

Danke für jede anregung (hab aber eigentlich nicht vor alle Pfade absolut zu machen)

Hi!
Du musst einfach nur das Property RestoreDirectory Deiner OpenFileDialog Instanz auf true setzen…

Gruß,
Martin

Hallo Martin,

leider war das nicht die Lösung.
Es werde immernoch die Logs in genau das Verzeichnis reingeschrieben, welches ich gerade ausgewählt habe.

Folgenden Code verwende ich.
OpenFileDialog openFile = new OpenFileDialog();
openFile.DefaultExt = „xml“;
openFile.Multiselect = false;

openFile.Filter = „Konfiguration (*.xml)|*.xml“;
openFile.InitialDirectory = „.\“ ;
openFile.RestoreDirectory = true;
openFile.ShowDialog();
if( openFile.FileNames.Length > 0 )
{
foreach( string filename in openFile.FileNames )
{
textBoxStationspfad.Text = filename;
}
}

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Andy,

wenn du einen relativen Pfad, ausgehend von deiner Anwendung, hast und das so bleiben soll, würde ich auf den Dialog verzichten. Ermittel den Pfad deiner Anwendung und füge den relativen Anteil dazu. Wenns denn sein soll, lass den Anwender einen Dateinamen per TextBox angeben. Den Pfad würde ich aber „hart“ codieren.

Soll der Anwender nur „unterhalb“ der Anwendung speichern dürfen, das aber in verschiedene Verzeichnisse, würde ich nach dem Duialog den gewählten Pfad vergleichen und ggfs. den Dialog nach eine Meldung „da nicht“ neu starten.

kann sein, dass ich dein Problem noch nicht genau verstanden habe. Meld dich dann noch einmal.

mfg

Dirk.Pegasus