FileDialog Klasa

Definicja

Wyświetla okno dialogowe, w którym użytkownik może wybrać plik.Displays a dialog box from which the user can select a file.

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
Dziedziczenie
Pochodne

Przykłady

Poniższy przykład kodu używa OpenFileDialog implementacji FileDialog i ilustruje tworzenie, Ustawianie właściwości i wyświetlanie okna dialogowego.The following code example uses the OpenFileDialog implementation of FileDialog and illustrates creating, setting of properties, and showing the dialog box. W przykładzie zastosowano ShowDialog metodę, aby wyświetlić okno dialogowe i zwrócić DialogResult .The example uses the ShowDialog method to display the dialog box and return the DialogResult. Przykład wymaga formularza z Button umieszczonym na nim i System.IO przestrzenią nazw dodanego do niego.The example requires a form with a Button placed on it and the System.IO namespace added to it.

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

Uwagi

FileDialog jest klasą abstrakcyjną, która zawiera typowe zachowanie OpenFileDialog SaveFileDialog klas i.FileDialog is an abstract class that contains common behavior for the OpenFileDialog and SaveFileDialog classes. Nie jest przeznaczona do użycia bezpośrednio, ale zawiera typowe zachowanie tych dwóch klas.It is not intended to be used directly but contains common behavior for those two classes. Nie można utworzyć wystąpienia FileDialog .You cannot create an instance of FileDialog. Chociaż Klasa jest zadeklarowana jako publiczna, nie można z niej dziedziczyć, ponieważ zawiera ona wewnętrzne metody abstrakcyjne.Although the class is declared public, you cannot inherit from it, as it contains internal abstract methods. Aby utworzyć okno dialogowe, w którym można wybrać lub zapisać plik, użyj OpenFileDialog lub SaveFileDialog .To create a dialog box to select or save a file, use OpenFileDialog or SaveFileDialog.

FileDialog to modalne okno dialogowe; w związku z tym, gdy jest wyświetlany, zablokuje resztę aplikacji do momentu wybrania pliku przez użytkownika.FileDialog is a modal dialog box; therefore, when shown, it blocks the rest of the application until the user has chosen a file. Gdy okno dialogowe jest wyświetlane w trybie modalnym, nie można wykonać operacji wejścia (klawiatury lub kliknięcia myszą) z wyjątkiem obiektów w oknie dialogowym.When a dialog box is displayed modally, no input (keyboard or mouse click) can occur except to objects on the dialog box. Aby dane wejściowe do wywołującego programu mogły wystąpić, program musi ukryć lub zamknąć okno dialogowe (zazwyczaj w odpowiedzi na niektóre akcje użytkownika).The program must hide or close the dialog box (usually in response to some user action) before input to the calling program can occur.

Przestroga

W przypadku używania klas pochodnych z FileDialog , takich jak OpenFileDialog i SaveFileDialog , należy unikać używania literałów ciągów zawierających ścieżki bezwzględne.When you use classes derived from FileDialog, such as OpenFileDialog and SaveFileDialog, avoid using string literals containing absolute paths. Zamiast tego należy dynamicznie uzyskać ścieżkę przy użyciu jednej lub kilku technik opisanych w poniższej tabeli.Instead, dynamically obtain the path using one or more of the techniques described in the following table.

Jeśli chcesz umożliwić użytkownikom wybranie folderu zamiast pliku, użyj FolderBrowserDialog .If you want to enable users to select a folder instead of a file, use the FolderBrowserDialog.

W zależności od typu aplikacji, sposobu przechowywania danych skojarzonych z aplikacją oraz przyczyny uzyskiwania dostępu do systemu plików istnieje wiele sposobów, w których można utworzyć ścieżkę katalogu.Depending upon the type of application, how data associated with the application is stored, and the reason for accessing the file system, there are many possible ways in which you can create a directory path. W poniższej tabeli przedstawiono metody dynamicznego tworzenia ścieżek.The following table shows the techniques for creating paths dynamically.

Ścieżka lub kategoria programuPath or program category Klasa i składowe do użyciaClass and members to use
Standardowe ścieżki systemu Windows, takie jak pliki programu, dokumenty, pulpit i tak dalejStandard Windows paths, such as Program Files, MyDocuments, the Desktop and so on System.EnvironmentKlasa to najbardziej kompletne źródło tych elementów, za pomocą metod statycznych, takich jak SystemDirectory lub za pośrednictwem GetFolderPath metody, przy użyciu jednej z Environment.SpecialFolder wartości wyliczanych.The System.Environment class is the most complete source for these, either through its static methods, such as SystemDirectory, or through the GetFolderPath method, using one of the Environment.SpecialFolder enumerated values.
Ścieżki związane z bieżącą aplikacjąPaths related to the current application ApplicationKlasa ma statyczne elementy członkowskie do uzyskiwania określonych ścieżek, takich jak StartupPath , ExecutablePath , LocalUserAppDataPath i CommonAppDataPath .The Application class has static members to obtain certain paths, such as StartupPath, ExecutablePath, LocalUserAppDataPath, and CommonAppDataPath.

GetTempPathMetoda System.IO.Path zwraca ścieżkę folderu tymczasowego.The GetTempPath method of the System.IO.Path returns the path of the temporary folder.

GetCurrentDirectoryMetoda System.IO.Directory klasy zwraca bieżący katalog wykonywania aplikacji.The GetCurrentDirectory method of the System.IO.Directory class returns the application's current executing directory.

RootDirectoryWłaściwość DriveInfo klasy reprezentuje katalog główny określonego dysku.The RootDirectory property of the DriveInfo class represents the specified drive's root directory.
Ścieżki przechowywane jako ustawienia aplikacjiPaths stored as application settings Uzyskaj dostęp do właściwości ustawień odpowiednich aplikacji klasy otoki pochodnej od ApplicationSettingsBase .Access the corresponding applications settings property of the wrapper class derived from ApplicationSettingsBase. Aby uzyskać więcej informacji, zobacz Ustawienia aplikacji dla Windows Forms.For more information, see Application Settings for Windows Forms.
Magazyn rejestruRegistry storage Niektóre aplikacje przechowują w rejestrze informacje o katalogu.Some applications store directory information in the registry. ApplicationKlasa ma CommonAppDataPath LocalUserAppDataPath właściwości i, które są rozpoznawane jako RegistryKey wartość.The Application class has the CommonAppDataPath and LocalUserAppDataPath properties that resolve to a RegistryKey value.
ClickOnce — aplikacjeClickOnce applications W przypadku aplikacji ClickOnce Użyj Application elementów członkowskich klasy, takich jak UserAppDataPath , które zwracają wskaźnik do katalogu danych ClickOnce.For ClickOnce applications, use Application class members such as UserAppDataPath, which will return a pointer to the ClickOnce data directory. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do danych lokalnych i zdalnych w aplikacjach ClickOnce.For more information, see Accessing Local and Remote Data in ClickOnce Applications.
Aplikacje międzynarodoweInternational applications W przypadku aplikacji międzynarodowych Pobierz część ścieżki względnej z zasobu ciągu w aplikacji za pomocą System.Resources.ResourceReader klasy.For international applications, retrieve the relative path portion from a string resource in your application by using the System.Resources.ResourceReader class. Aby uzyskać więcej informacji na temat globalizacji i lokalizacji, zobacz globalizacja i lokalizacjatematu.For more information about globalization and localization, see the topic Globalization and Localization.

Należy zauważyć, że pełną ścieżkę można utworzyć przy użyciu co najmniej jednej z opisanych technik.Notice that a full path may be built up using one or more of the described techniques. Na przykład GetFolderPath Metoda może zostać użyta w celu uzyskania ścieżki do folderu Moje dokumenty, a następnie ustawienia aplikacji można użyć do dodania względnej części podkatalogu.For example, the GetFolderPath method might be used to obtain the path to the MyDocuments folder, then an application setting may be used to add a relative subdirectory portion.

System.IO.PathKlasa zawiera statyczne elementy członkowskie ułatwiające manipulowanie bezwzględnymi i względnymi ciągami ścieżki, natomiast System.IO.File System.IO.Directory klasy i mają statyczne elementy członkowskie, które faktycznie manipulują odpowiednio pliki i katalogi.The System.IO.Path class contains static members to assist in manipulating absolute and relative path strings, whereas the System.IO.File and System.IO.Directory classes have static members that actually manipulate files and directories, respectively.

Ważne

Jeśli użytkownik aplikacji zmieni folder w programie FileDialog , bieżący katalog roboczy aplikacji zostanie ustawiony na lokalizację określoną w FileDialog .If the user of your application changes the folder in the FileDialog, then the current working directory for your application is set to the location specified in the FileDialog. Aby tego uniknąć, należy ustawić RestoreDirectory Właściwość na true .To prevent this, set the RestoreDirectory property to true.

Pola

EventFileOk

Jest właścicielem FileOk zdarzenia.Owns the FileOk event.

Właściwości

AddExtension

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe automatycznie dodaje rozszerzenie do nazwy pliku, jeśli użytkownik pominie rozszerzenie.Gets or sets a value indicating whether the dialog box automatically adds an extension to a file name if the user omits the extension.

AutoUpgradeEnabled

Pobiera lub ustawia wartość wskazującą, czy to FileDialog wystąpienie ma automatycznie aktualizować wygląd i zachowanie w przypadku uruchamiania w systemie Windows Vista.Gets or sets a value indicating whether this FileDialog instance should automatically upgrade appearance and behavior when running on Windows Vista.

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.Gets a value indicating whether the component can raise an event.

(Odziedziczone po Component)
CheckFileExists

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe wyświetla ostrzeżenie, jeśli użytkownik określi nieistniejącą nazwę pliku.Gets or sets a value indicating whether the dialog box displays a warning if the user specifies a file name that does not exist.

CheckPathExists

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe wyświetla ostrzeżenie, jeśli użytkownik określi ścieżkę, która nie istnieje.Gets or sets a value indicating whether the dialog box displays a warning if the user specifies a path that does not exist.

ClientGuid

Pobiera lub ustawia identyfikator GUID, który ma zostać skojarzony z tym stanem okna dialogowego.Gets or sets the GUID to associate with this dialog state. Zazwyczaj stan, taki jak ostatnio odwiedzony folder, oraz pozycja i rozmiar okna dialogowego są utrwalane na podstawie nazwy pliku wykonywalnego.Typically, state such as the last visited folder and the position and size of the dialog is persisted based on the name of the executable file. Określając identyfikator GUID, aplikacja może mieć różne stany utrwalone dla różnych wersji okna dialogowego w tej samej aplikacji (na przykład okno dialogowe importowania i otwarte okno dialogowe).By specifying a GUID, an application can have different persisted states for different versions of the dialog within the same application (for example, an import dialog and an open dialog).

Ta funkcja jest niedostępna, jeśli aplikacja nie używa stylów wizualnych lub jeśli AutoUpgradeEnabled jest ustawiona na false .This functionality is not available if an application is not using visual styles or if AutoUpgradeEnabled is set to false.

Container

Pobiera IContainer , który zawiera Component .Gets the IContainer that contains the Component.

(Odziedziczone po Component)
CustomPlaces

Pobiera kolekcję miejsc niestandardowych dla tego FileDialog wystąpienia.Gets the custom places collection for this FileDialog instance.

DefaultExt

Pobiera lub ustawia domyślne rozszerzenie nazwy pliku.Gets or sets the default file name extension.

DereferenceLinks

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe zwraca lokalizację pliku, do którego odwołuje się skrót, czy zwraca lokalizację skrótu (. lnk).Gets or sets a value indicating whether the dialog box returns the location of the file referenced by the shortcut or whether it returns the location of the shortcut (.lnk).

DesignMode

Pobiera wartość wskazującą, czy Component jest aktualnie w trybie projektowania.Gets a value that indicates whether the Component is currently in design mode.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń, które są dołączone do tego elementu Component .Gets the list of event handlers that are attached to this Component.

(Odziedziczone po Component)
FileName

Pobiera lub ustawia ciąg zawierający nazwę pliku wybraną w oknie dialogowym plik.Gets or sets a string containing the file name selected in the file dialog box.

FileNames

Pobiera nazwy wszystkich wybranych plików z okna dialogowego.Gets the file names of all selected files in the dialog box.

Filter

Pobiera lub ustawia bieżący ciąg filtru nazwy pliku, który określa opcje, które pojawiają się w polu "Zapisz jako typ pliku" lub "Pliki typu" w oknie dialogowym.Gets or sets the current file name filter string, which determines the choices that appear in the "Save as file type" or "Files of type" box in the dialog box.

FilterIndex

Pobiera lub ustawia indeks filtru aktualnie wybranego w oknie dialogowym plik.Gets or sets the index of the filter currently selected in the file dialog box.

InitialDirectory

Pobiera lub ustawia początkowy katalog wyświetlany przez okno dialogowe plik.Gets or sets the initial directory displayed by the file dialog box.

Instance

Pobiera dojście wystąpienia Win32 dla aplikacji.Gets the Win32 instance handle for the application.

Options

Pobiera wartości, aby zainicjować FileDialog .Gets values to initialize the FileDialog.

RestoreDirectory

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe przywraca katalog do wcześniej wybranego katalogu przed zamknięciem.Gets or sets a value indicating whether the dialog box restores the directory to the previously selected directory before closing.

ShowHelp

Pobiera lub ustawia wartość wskazującą, czy przycisk Pomoc jest wyświetlany w oknie dialogowym plik.Gets or sets a value indicating whether the Help button is displayed in the file dialog box.

Site

Pobiera lub ustawia wartość ISite Component .Gets or sets the ISite of the Component.

(Odziedziczone po Component)
SupportMultiDottedExtensions

Pobiera lub ustawia, czy okno dialogowe obsługuje wyświetlanie i zapisywanie plików z wieloma rozszerzeniami nazw plików.Gets or sets whether the dialog box supports displaying and saving files that have multiple file name extensions.

Tag

Pobiera lub ustawia obiekt, który zawiera dane dotyczące formantu.Gets or sets an object that contains data about the control.

(Odziedziczone po CommonDialog)
Title

Pobiera lub ustawia tytuł okna dialogowego pliku.Gets or sets the file dialog box title.

ValidateNames

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe akceptuje tylko prawidłowe nazwy plików Win32.Gets or sets a value indicating whether the dialog box accepts only valid Win32 file names.

Metody

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.Releases all resources used by the Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczoną przez Component lub przez Container .Returns an object that represents a service provided by the Component or by its Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Definiuje wspólną procedurę haka okna dialogowego, która została zastąpiona w celu dodania określonej funkcjonalności do okna dialogowego plik.Defines the common dialog box hook procedure that is overridden to add specific functionality to the file dialog box.

InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
OnFileOk(CancelEventArgs)

Podnosi FileOk zdarzenie.Raises the FileOk event.

OnHelpRequest(EventArgs)

Podnosi HelpRequest zdarzenie.Raises the HelpRequest event.

(Odziedziczone po CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Definiuje procedurę okna właściciela, która została zastąpiona w celu dodania określonych funkcji do wspólnego okna dialogowego.Defines the owner window procedure that is overridden to add specific functionality to a common dialog box.

(Odziedziczone po CommonDialog)
Reset()

Resetuje wszystkie właściwości do ich wartości domyślnych.Resets all properties to their default values.

RunDialog(IntPtr)

Określa wspólne okno dialogowe.Specifies a common dialog box.

ShowDialog()

Uruchamia wspólne okno dialogowe z domyślnym właścicielem.Runs a common dialog box with a default owner.

(Odziedziczone po CommonDialog)
ShowDialog(IWin32Window)

Uruchamia wspólne okno dialogowe z określonym właścicielem.Runs a common dialog box with the specified owner.

(Odziedziczone po CommonDialog)
ToString()

Udostępnia wersję ciągu tego obiektu.Provides a string version of this object.

Zdarzenia

Disposed

Występuje, gdy składnik zostanie usunięty przez wywołanie Dispose() metody.Occurs when the component is disposed by a call to the Dispose() method.

(Odziedziczone po Component)
FileOk

Występuje, gdy użytkownik kliknie przycisk Otwórz lub Zapisz w pliku okna dialogowego.Occurs when the user clicks on the Open or Save button on a file dialog box.

HelpRequest

Występuje, gdy użytkownik kliknie przycisk Pomoc w wspólnym oknie dialogowym.Occurs when the user clicks the Help button on a common dialog box.

(Odziedziczone po CommonDialog)

Dotyczy

Zobacz też