none
Startordner setzen in OpenFileDialog unter Win7 ? RRS feed

  • Frage

  • Hallo zusammen,

    für WinXP hatte ich zum öffnen eines FileDialogs immer schon die letzte Auswahl vorgegeben.
    etwa so:
    OpenFileDialog ofd=new OpenFileDialog();
    ofd.FileName = @"C:\ordner1\ordner2\abc.txt";

    Mit ofd.ShowDialog() steht der Explorer dann im vorgegebenen Ordner.

    Diese Verhalten ist bei Win7 nicht mehr gegeben, auch nicht mit:
    ofd.InitialDirectory = @"C:\ordner1\ordner2\abc.txt";

    Frage:
    Wie muss ich mit OpenFileDialog belegen?

    Danke schon mal
    Wolfgang

     

    Dienstag, 13. September 2011 15:33

Antworten

  • Im Moment gibst du einen Dateinamen (C:\ordner1\ordner2\abc.txt) an, versuche es nur mit dem Ordner bzw. dem Verzeichnisnamen (C:\ordner1\ordner2) für InitialDirectory.

    MVP Data Platform Development My blog
    Dienstag, 13. September 2011 16:27
  • Hallo Wolfgang,
    um ähnliches zu erreichen, solltest Du über "Path.GetFileName" und Path.GetDirectoryName" des Dateipfades gehen, wobei der GetDirectoryName in die InitialDirectory (s. auch Martin) gesetzt werden sollte. Hier ein Beispiel:
               OpenFileDialog ofd = new OpenFileDialog();
                string dateiPfad = @"C:\ordner1\ordner2\abc.txt";
                ofd.InitialDirectory = Path.GetDirectoryName(dateiPfad);
                ofd.FileName = Path.GetFileName(dateiPfad);
                ofd.ShowDialog(this);
                MessageBox.Show("Gewählte Datei: " + ofd.FileName);
    

    ciao Frank
    • Als Antwort markiert wolfgangh Mittwoch, 14. September 2011 13:09
    Dienstag, 13. September 2011 20:26

Alle Antworten

  • Im Moment gibst du einen Dateinamen (C:\ordner1\ordner2\abc.txt) an, versuche es nur mit dem Ordner bzw. dem Verzeichnisnamen (C:\ordner1\ordner2) für InitialDirectory.

    MVP Data Platform Development My blog
    Dienstag, 13. September 2011 16:27
  • Hallo Wolfgang,
    um ähnliches zu erreichen, solltest Du über "Path.GetFileName" und Path.GetDirectoryName" des Dateipfades gehen, wobei der GetDirectoryName in die InitialDirectory (s. auch Martin) gesetzt werden sollte. Hier ein Beispiel:
               OpenFileDialog ofd = new OpenFileDialog();
                string dateiPfad = @"C:\ordner1\ordner2\abc.txt";
                ofd.InitialDirectory = Path.GetDirectoryName(dateiPfad);
                ofd.FileName = Path.GetFileName(dateiPfad);
                ofd.ShowDialog(this);
                MessageBox.Show("Gewählte Datei: " + ofd.FileName);
    

    ciao Frank
    • Als Antwort markiert wolfgangh Mittwoch, 14. September 2011 13:09
    Dienstag, 13. September 2011 20:26