none
OpenFileDialog -> Ordner-Auswahl / Ordner wechseln unterdrücken, nur Datei-Auswahl im InitialDirectory ermöglichen RRS feed

Antworten

  • Hallo Michael,

    out-of-the-box kann das der OpenFileDialog nicht.

    Eine Möglichkeit wäre das InitialDirectory im Programm zu setzen und über das FileOk-Event (siehe [1] für weitere Informationen) zu überprüfen, ob die gewählte Datei in diesem Ordner liegt:

    private void Durchsuchen()
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.InitialDirectory = "C:\\";
        ofd.FileOk += ofd_FileOk;
        ofd.ShowDialog();
    }
    
    void ofd_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
    {
        OpenFileDialog ofd = sender as OpenFileDialog;
        if (!System.IO.Path.GetDirectoryName(ofd.FileName).Equals(ofd.InitialDirectory))
        {
            MessageBox.Show("Diese Auswahl ist nicht möglich!");
            e.Cancel = true;
        }
    }

    Falls Ihnen das nicht streng genug ist, müssen Sie vermutlich Ihren eigenen Dialog zur Auswahl von Dateien schreiben.

    [1] http://msdn.microsoft.com/de-de/library/microsoft.win32.filedialog.fileok.aspx

    Viele Grüße,
    Thomas Fröhle
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    • Als Antwort markiert M.Erlinger Mittwoch, 18. Dezember 2013 14:30
    Mittwoch, 18. Dezember 2013 11:50

Alle Antworten

  • Hallo Michael,

    out-of-the-box kann das der OpenFileDialog nicht.

    Eine Möglichkeit wäre das InitialDirectory im Programm zu setzen und über das FileOk-Event (siehe [1] für weitere Informationen) zu überprüfen, ob die gewählte Datei in diesem Ordner liegt:

    private void Durchsuchen()
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.InitialDirectory = "C:\\";
        ofd.FileOk += ofd_FileOk;
        ofd.ShowDialog();
    }
    
    void ofd_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
    {
        OpenFileDialog ofd = sender as OpenFileDialog;
        if (!System.IO.Path.GetDirectoryName(ofd.FileName).Equals(ofd.InitialDirectory))
        {
            MessageBox.Show("Diese Auswahl ist nicht möglich!");
            e.Cancel = true;
        }
    }

    Falls Ihnen das nicht streng genug ist, müssen Sie vermutlich Ihren eigenen Dialog zur Auswahl von Dateien schreiben.

    [1] http://msdn.microsoft.com/de-de/library/microsoft.win32.filedialog.fileok.aspx

    Viele Grüße,
    Thomas Fröhle
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    • Als Antwort markiert M.Erlinger Mittwoch, 18. Dezember 2013 14:30
    Mittwoch, 18. Dezember 2013 11:50
  • Hallo Thomas

    danke für die Rückmeldung - das hilft mir für's erste schon einmal weiter.

    Schönen Gruß - Michael


    Michael Erlinger

    Mittwoch, 18. Dezember 2013 14:31