Halli Hallo,
habe wie der Titel schon sagt ein kleines Problem mit dem Initialisierungsverzeichnis bei dem OpenFileDialog von Windows Forms.
Ich habe eine Anwendung geschrieben welche über eine kleine GUI bedienbar ist. Für die Anwendung können unabhängig zwei Dateipfade gewählt werden ( 2 verschiedene OpenFileDialoge ).
Zu Anfang Initialisiere ich zwei strings mit dem aktuellen Dateipfad in meiner WinForms Klasse
Dies stellt soweit auch noch kein Problem dar.
Meinen Filedialog rufe ich dann wie folgt auf:
Beim dem jeweils ersten Klicken auf den jeweiligen Button wird der Filedialog auch vollkommen korrekt mit dem in Dir1 bzw Dir2 gespeicherten Verzeichnis aufgerufen.
D.h. ich wähle für Dir1 ein Verzeichnis und öffne danach den Filedialog für Dir2, welcher dann auch im richtigen Verzeichnis öffnet ( dem ursprünglichen Verzeichnispfad --> siehe Initilalisierung oben )
Wähle ich nun hier auch einen neuen Pfad ( und bestätige ) und öffne danach wieder den Filedialog für Dir1 , so wird dieses in dem eben gewählten Pfad aus Filedialog2 geöffnet.
Um es noch mal kurz zusammenzufassen -> Das erste öffnen des Filedialoges funktioniert bei beiden Verzeichnissen, danach wird jedoch immer der zuletzt geöffnete Pfad geöffnet egal welchen Filedialog ich öffne.
Im Code hab ich aber beide strikt getrennt.
Ich hoffe ich konnte es einigermaßen erklären was mein Problem ist.
Viele Grüße
Tobias
habe wie der Titel schon sagt ein kleines Problem mit dem Initialisierungsverzeichnis bei dem OpenFileDialog von Windows Forms.
Ich habe eine Anwendung geschrieben welche über eine kleine GUI bedienbar ist. Für die Anwendung können unabhängig zwei Dateipfade gewählt werden ( 2 verschiedene OpenFileDialoge ).
Zu Anfang Initialisiere ich zwei strings mit dem aktuellen Dateipfad in meiner WinForms Klasse
Code:
private string Dir1 = Directory.GetCurrentDirectory(); private string Dir2 = Directory.GetCurrentDirectory();
Meinen Filedialog rufe ich dann wie folgt auf:
Code:
private void button_path1_Click(object sender, EventArgs e) { OpenFileDialog openfiledialog_1 = new OpenFileDialog(); openfiledialog_1.InitialDirectory = Dir1; openfiledialog_1.Filter = "Vector BLF (*.blf)|*.blf|All files (*.*)|*.*"; openfiledialog_1.FilterIndex = 1; openfiledialog_1.RestoreDirectory = true; if (openfiledialog_1.ShowDialog() == DialogResult.OK) { textBoxFile1.Text = openfiledialog_1.FileName; Dir1 = openfiledialog_1.FileName; } } private void button_path2_Click(object sender, EventArgs e) { OpenFileDialog openfiledialog_2 = new OpenFileDialog(); openfiledialog_2.InitialDirectory = Dir2; openfiledialog_2.Filter = "Vector BLF (*.blf)|*.blf|All files (*.*)|*.*"; openfiledialog_2.FilterIndex = 1; openfiledialog_2.RestoreDirectory = true; if (openfiledialog_2.ShowDialog() == DialogResult.OK) { textBoxFile2.Text = openfiledialog_2.FileName; Dir2 = openfiledialog_2.FileName; } }
D.h. ich wähle für Dir1 ein Verzeichnis und öffne danach den Filedialog für Dir2, welcher dann auch im richtigen Verzeichnis öffnet ( dem ursprünglichen Verzeichnispfad --> siehe Initilalisierung oben )
Wähle ich nun hier auch einen neuen Pfad ( und bestätige ) und öffne danach wieder den Filedialog für Dir1 , so wird dieses in dem eben gewählten Pfad aus Filedialog2 geöffnet.
Um es noch mal kurz zusammenzufassen -> Das erste öffnen des Filedialoges funktioniert bei beiden Verzeichnissen, danach wird jedoch immer der zuletzt geöffnete Pfad geöffnet egal welchen Filedialog ich öffne.
Im Code hab ich aber beide strikt getrennt.
Ich hoffe ich konnte es einigermaßen erklären was mein Problem ist.
Viele Grüße
Tobias
Comment