Teilen über


FileDialog Klasse

Definition

Zeigt ein Dialogfeld an, in dem der Benutzer eine Datei auswählen kann.

public ref class FileDialog abstract : System::Windows::Forms::CommonDialog
public abstract class FileDialog : System.Windows.Forms.CommonDialog
type FileDialog = class
    inherit CommonDialog
Public MustInherit Class FileDialog
Inherits CommonDialog
Vererbung
Abgeleitet

Beispiele

Im folgenden Codebeispiel wird die Implementierung von FileDialog verwendet und veranschaulicht das OpenFileDialog Erstellen, Festlegen von Eigenschaften und das Anzeigen des Dialogfelds. Im Beispiel wird die ShowDialog -Methode verwendet, um das Dialogfeld anzuzeigen und zurückzugeben DialogResult. Das Beispiel erfordert ein Formular mit einem Button darauf platzierten und dem System.IO Namespace hinzugefügt.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = "c:\\";
      openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
      openFileDialog1->FilterIndex = 2;
      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
      {
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
         {
            // Insert code to read the stream here.
            myStream->Close();
         }
      }
   }
var fileContent = string.Empty;
var filePath = string.Empty;

using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
    openFileDialog.InitialDirectory = "c:\\";
    openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    openFileDialog.FilterIndex = 2;
    openFileDialog.RestoreDirectory = true;

    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        //Get the path of specified file
        filePath = openFileDialog.FileName;

        //Read the contents of the file into a stream
        var fileStream = openFileDialog.OpenFile();

        using (StreamReader reader = new StreamReader(fileStream))
        {
            fileContent = reader.ReadToEnd();
        }
    }
}

MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myStream As Stream = Nothing
    Dim openFileDialog1 As New OpenFileDialog()

    openFileDialog1.InitialDirectory = "c:\"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True

    If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Try
            myStream = openFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Insert code to read the stream here.
            End If
        Catch Ex As Exception
            MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
        Finally
            ' Check this again, since we need to make sure we didn't throw an exception on open.
            If (myStream IsNot Nothing) Then
                myStream.Close()
            End If
        End Try
    End If
End Sub

Hinweise

FileDialog ist eine abstrakte Klasse, die allgemeines Verhalten für die OpenFileDialog Klassen und SaveFileDialog enthält. Es ist nicht für die direkte Verwendung vorgesehen, enthält aber allgemeines Verhalten für diese beiden Klassen. Sie können keine instance von FileDialogerstellen. Obwohl die Klasse als öffentlich deklariert ist, können Sie von ihr nicht erben, da sie interne abstrakte Methoden enthält. Verwenden OpenFileDialog Sie oder SaveFileDialog, um ein Dialogfeld zum Auswählen oder Speichern einer Datei zu erstellen.

FileDialog ist ein modales Dialogfeld; Daher blockiert es, wenn es angezeigt wird, den Rest der Anwendung, bis der Benutzer eine Datei ausgewählt hat. Wenn ein Dialogfeld modal angezeigt wird, können keine Eingaben (Tastatur oder Mausklick) erfolgen, mit Ausnahme von Objekten im Dialogfeld. Das Programm muss das Dialogfeld ausblenden oder schließen (in der Regel als Reaktion auf eine Benutzeraktion), bevor eingaben an das aufrufende Programm erfolgen können.

Achtung

Wenn Sie von FileDialogabgeleitete Klassen wie OpenFileDialog und SaveFileDialogverwenden, vermeiden Sie die Verwendung von Zeichenfolgenliteralen, die absolute Pfade enthalten. Stattdessen können Sie den Pfad mithilfe einer oder mehrerer der in der folgenden Tabelle beschriebenen Techniken dynamisch abrufen.

Wenn Sie Benutzern die Auswahl eines Ordners anstelle einer Datei ermöglichen möchten, verwenden Sie .FolderBrowserDialog

Abhängig vom Anwendungstyp, der Speicherung der der Anwendung zugeordneten Daten und dem Grund für den Zugriff auf das Dateisystem gibt es viele Möglichkeiten, wie Sie einen Verzeichnispfad erstellen können. Die folgende Tabelle zeigt die Techniken zum dynamischen Erstellen von Pfaden.

Pfad oder Programmkategorie Zu verwendende Klasse und Member
Windows-Standardpfade, z. B. Programme, MyDocuments, Desktop usw. Die System.Environment -Klasse ist die vollständigste Quelle für diese, entweder über ihre statischen Methoden, z SystemDirectory. B. , oder über die GetFolderPath -Methode, die einen der Environment.SpecialFolder enumerierten Werte verwendet.
Pfade im Zusammenhang mit der aktuellen Anwendung Die Application -Klasse verfügt über statische Member, um bestimmte Pfade wie StartupPath, ExecutablePath, LocalUserAppDataPathund CommonAppDataPathabzurufen.

Die GetTempPath -Methode von System.IO.Path gibt den Pfad des temporären Ordners zurück.

Die GetCurrentDirectory -Methode der System.IO.Directory -Klasse gibt das aktuell ausgeführte Verzeichnis der Anwendung zurück.

Die RootDirectory -Eigenschaft der DriveInfo -Klasse stellt das Stammverzeichnis des angegebenen Laufwerks dar.
Als Anwendungseinstellungen gespeicherte Pfade Greifen Sie auf die entsprechende Anwendungseinstellungseigenschaft der von ApplicationSettingsBaseabgeleiteten Wrapperklasse zu. Weitere Informationen finden Sie unter Anwendungseinstellungen für Windows Forms.
Registrierungsspeicher Einige Anwendungen speichern Verzeichnisinformationen in der Registrierung. Die Application -Klasse verfügt über die CommonAppDataPath Eigenschaften und LocalUserAppDataPath , die in einen RegistryKey -Wert aufgelöst werden.
ClickOnce-Anwendungen Verwenden Sie Application für ClickOnce-Anwendungen Klassenmember wie UserAppDataPath, wodurch ein Zeiger auf das ClickOnce-Datenverzeichnis zurückgegeben wird. Weitere Informationen finden Sie unter Zugreifen auf lokale und Remotedaten in ClickOnce-Anwendungen.
Internationale Bewerbungen Rufen Sie bei internationalen Anwendungen den relativen Pfadteil aus einer Zeichenfolgenressource in Ihrer Anwendung mithilfe der System.Resources.ResourceReader -Klasse ab. Weitere Informationen zu Globalisierung und Lokalisierung finden Sie im Thema Globalisierung und Lokalisierung.

Beachten Sie, dass ein vollständiger Pfad mit einer oder mehreren der beschriebenen Techniken erstellt werden kann. Beispielsweise kann die GetFolderPath -Methode verwendet werden, um den Pfad zum Ordner MyDocuments abzurufen. Anschließend kann eine Anwendungseinstellung verwendet werden, um einen relativen Unterverzeichnisteil hinzuzufügen.

Die System.IO.Path -Klasse enthält statische Member, um die Bearbeitung absoluter und relativer Pfadzeichenfolgen zu unterstützen, während die -Klasse und System.IO.Directory die System.IO.File -Klasse statische Member haben, die Dateien bzw. Verzeichnisse tatsächlich bearbeiten.

Wichtig

Wenn der Benutzer Ihrer Anwendung den Ordner in FileDialogändert, wird das aktuelle Arbeitsverzeichnis für Ihre Anwendung auf den im FileDialogangegebenen Speicherort festgelegt. Um dies zu verhindern, legen Sie die RestoreDirectory -Eigenschaft auf fest true.

Felder

EventFileOk

Besitzt das FileOk-Ereignis.

Eigenschaften

AddExtension

Ruft einen Wert ab, der angibt, ob einem Dateinamen im Dialogfeld automatisch eine Erweiterung hinzugefügt wird, wenn der Benutzer keine Erweiterung angibt, oder legt diesen Wert fest.

AddToRecent

Ruft einen Wert ab, der angibt, ob das Dialogfeld die datei hinzufügt, die geöffnet oder gespeichert wird, der Zuletzt verwendeten Liste.

AutoUpgradeEnabled

Ruft einen Wert ab, der angibt, ob dieses FileDialog instance bei der Ausführung unter Windows Vista automatisch das Aussehen und Verhalten aktualisieren soll, oder legt diesen fest.

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
CheckFileExists

Ruft einen Wert ab, der angibt, ob im Dialogfeld eine Warnung angezeigt wird, wenn der Benutzer den Namen einer nicht vorhandenen Datei angibt, oder legt diesen fest.

CheckPathExists

Ruft einen Wert ab, der angibt, ob im Dialogfeld eine Warnung angezeigt wird, wenn der Benutzer einen nicht vorhandenen Pfad angibt, oder legt diesen fest.

ClientGuid

Ruft die GUID ab, die diesem Dialogfeldzustand zugeordnet werden soll, oder legt sie fest. In der Regel wird der Zustand, z. B. der zuletzt besuchte Ordner und die Position und Größe des Dialogfelds, basierend auf dem Namen der ausführbaren Datei beibehalten. Durch Angeben einer GUID kann eine Anwendung unterschiedliche beibehaltene Zustände für verschiedene Versionen des Dialogfelds innerhalb derselben Anwendung aufweisen (z. B. ein Dialogfeld zum Importieren und ein Dialogfeld zum Öffnen).

Diese Funktion ist nicht verfügbar, wenn eine Anwendung keine visuellen Stile verwendet oder wenn AutoUpgradeEnabled auf false festgelegt ist.

Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
CustomPlaces

Ruft die Auflistung der benutzerdefinierten Speicherorte für diese FileDialog-Instanz ab.

DefaultExt

Ruft die Standarddateinamenerweiterung ab oder legt diese fest.

DereferenceLinks

Ruft einen Wert ab, der angibt, ob das Dialogfeld den Speicherort der Datei, auf die die Verknüpfung verweist, oder den Speicherort der Verknüpfung (.lnk) zurückgibt, oder legt diesen Wert fest.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
FileName

Ruft eine Zeichenfolge ab, die den im Dateidialogfeld ausgewählten Dateinamen enthält, oder legt diese fest.

FileNames

Ruft die Dateinamen aller im Dialogfeld ausgewählten Dateien ab.

Filter

Ruft die aktuelle Filterzeichenfolge für Dateinamen ab, die die im Dialogfeld im Feld „Speichern unter“ oder „Dateityp“ angezeigte Auswahl bestimmt, oder legt diese fest.

FilterIndex

Ruft den Index des derzeit im Dateidialogfeld ausgewählten Filters ab oder legt diesen Index fest.

InitialDirectory

Ruft das Ausgangsverzeichnis ab, das im Dateidialogfeld angezeigt wird, oder legt dieses fest.

Instance

Ruft das Win32-Instanzhandle für die Anwendung ab.

OkRequiresInteraction

Ruft einen Wert ab, der angibt, ob die Schaltfläche OK des Dialogfelds deaktiviert ist, bis der Benutzer in der Ansicht navigiert oder den Dateinamen bearbeitet (falls zutreffend).

Options

Ruft Werte für die Initialisierung von FileDialog ab.

RestoreDirectory

Ruft einen Wert ab oder legt diesen fest, der angibt, ob das Dialogfeld das Verzeichnis im zuvor ausgewählten Verzeichnis vor dem Schließen wiederherstellt.

ShowHelp

Ruft einen Wert ab, der angibt, ob im Dateidialogfeld die Schaltfläche Hilfe angezeigt wird, oder legt diesen Wert fest.

ShowHiddenFiles

Ruft einen Wert ab, der angibt, ob im Dialogfeld ausgeblendete Und Systemdateien angezeigt werden, oder legt den Wert fest.

ShowPinnedPlaces

Ruft einen Wert ab, der angibt, ob die standardmäßig im Navigationsbereich der Ansicht angezeigten Elemente angezeigt werden, oder legt einen Wert fest.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
SupportMultiDottedExtensions

Ruft ab oder legt fest, ob das Dialogfeld Anzeige und Speichern von Dateien mit mehreren Dateinamenerweiterungen unterstützt.

Tag

Ruft ein Objekt ab, das Daten bezüglich des Steuerelements enthält, oder legt dieses Objekt fest.

(Geerbt von CommonDialog)
Title

Ruft den Titel des Dateidialogfelds ab oder legt diesen fest.

ValidateNames

Ruft einen Wert ab, der angibt, ob das Dialogfeld nur gültige Win32-Dateinamen akzeptiert, oder legt diesen fest.

Methoden

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Definiert die Hookprozedur für Standarddialogfelder, die überschrieben wird, um dem Dateidialogfeld spezifische Funktionen hinzuzufügen.

InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
OnFileOk(CancelEventArgs)

Löst das FileOk-Ereignis aus.

OnHelpRequest(EventArgs)

Löst das HelpRequest-Ereignis aus.

(Geerbt von CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Definiert die Prozedur des Besitzerfensters, die überschrieben wird, um einem Standarddialogfeld spezifische Funktionen hinzuzufügen.

(Geerbt von CommonDialog)
Reset()

Setzt alle Eigenschaften auf die Standardwerte zurück.

RunDialog(IntPtr)

Gibt ein Standarddialogfeld an.

ShowDialog()

Führt ein Standarddialogfeld mit einem Standardbesitzer aus.

(Geerbt von CommonDialog)
ShowDialog(IWin32Window)

Führt ein Standarddialogfeld mit dem angegebenen Besitzer aus.

(Geerbt von CommonDialog)
ToString()

Stellt eine Zeichenfolgenversion dieses Objekts bereit.

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)
FileOk

Tritt ein, wenn der Benutzer in einem Dateidialogfeld auf die Schaltfläche Öffnen oder Speichern klickt.

HelpRequest

Tritt ein, wenn der Benutzer in einem Standarddialogfeld auf die Hilfeschaltfläche klickt.

(Geerbt von CommonDialog)

Gilt für:

Weitere Informationen