Sdílet prostřednictvím


FileDialog Třída

Definice

Zobrazí dialogové okno, ze kterého může uživatel vybrat soubor.

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
Dědičnost
Odvozené

Příklady

Následující příklad kódu používá implementaci OpenFileDialogFileDialog a znázorňuje vytvoření, nastavení vlastností a zobrazení dialogového okna. Příklad používá metodu ShowDialog k zobrazení dialogového okna a vrácení .DialogResult Příklad vyžaduje formulář s vloženým formulářem Button a přidaným oborem System.IO názvů.

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

Poznámky

FileDialog je abstraktní třída, která obsahuje běžné chování pro OpenFileDialog třídy a SaveFileDialog . Není určen k přímému použití, ale obsahuje běžné chování pro tyto dvě třídy. Nelze vytvořit instanci objektu FileDialog. I když je třída deklarována jako veřejná, nemůžete z ní dědit, protože obsahuje interní abstraktní metody. Pokud chcete vytvořit dialogové okno pro výběr nebo uložení souboru, použijte nebo OpenFileDialogSaveFileDialog.

FileDialog je modální dialogové okno; Proto při zobrazení zablokuje zbytek aplikace, dokud uživatel nevolí soubor. Když se dialogové okno zobrazí modálně, nemůže dojít k žádnému vstupu (kliknutí pomocí klávesnice nebo myši) s výjimkou objektů v dialogovém okně. Před vstupem do volajícího programu musí program dialogové okno skrýt nebo zavřít (obvykle v reakci na nějakou akci uživatele).

Upozornění

Pokud používáte třídy odvozené z FileDialog, jako OpenFileDialog jsou a SaveFileDialog, nepoužívejte řetězcové literály obsahující absolutní cesty. Místo toho dynamicky získejte cestu pomocí jedné nebo více technik popsaných v následující tabulce.

Pokud chcete uživatelům umožnit, aby místo souboru vybrali složku, použijte FolderBrowserDialog.

V závislosti na typu aplikace, způsobu ukládání dat přidružených k aplikaci a důvodu přístupu k systému souborů existuje mnoho možných způsobů, jak vytvořit cestu k adresáři. Následující tabulka ukazuje techniky dynamického vytváření cest.

Cesta nebo kategorie programu Třída a členy, které se mají použít
Standardní cesty Windows, jako jsou Program Files, MyDocuments, Desktop atd. Třída System.Environment je nejúplnějším zdrojem pro tyto metody, a to buď prostřednictvím svých statických metod, jako SystemDirectoryje , nebo prostřednictvím GetFolderPath metody s použitím jedné z Environment.SpecialFolder výčtových hodnot.
Cesty související s aktuální aplikací Třída Application má statické členy pro získání určitých cest, například StartupPath, ExecutablePath, LocalUserAppDataPatha CommonAppDataPath.

Metoda GetTempPathSystem.IO.Path vrátí cestu k dočasné složce.

Metoda GetCurrentDirectorySystem.IO.Directory třídy vrátí aktuální spuštěný adresář aplikace.

Vlastnost RootDirectoryDriveInfo třídy představuje kořenový adresář zadané jednotky.
Cesty uložené jako nastavení aplikace Přístup k odpovídající vlastnosti nastavení aplikací třídy wrapper odvozené z ApplicationSettingsBase. Další informace najdete v tématu Nastavení aplikace pro model Windows Forms.
Úložiště registru Některé aplikace ukládají informace o adresáři do registru. Třída ApplicationCommonAppDataPath vlastnosti a LocalUserAppDataPath , které se přeloží RegistryKey na hodnotu.
aplikace ClickOnce U aplikací ClickOnce použijte Application členy třídy, jako UserAppDataPathje , které vrátí ukazatel na adresář dat ClickOnce. Další informace najdete v tématu Přístup k místním a vzdáleným datům v aplikacích ClickOnce.
Mezinárodní aplikace V případě mezinárodních aplikací načtěte část relativní cesty z řetězcového prostředku ve vaší aplikaci pomocí třídy .System.Resources.ResourceReader Další informace o globalizaci a lokalizaci naleznete v tématu Globalizace a lokalizace.

Všimněte si, že úplná cesta může být vytvořena pomocí jedné nebo více popsaných technik. GetFolderPath Například metoda může být použita k získání cesty ke složce MyDocuments, pak nastavení aplikace může být použito k přidání relativní části podadresáře.

Třída System.IO.Path obsahuje statické členy, které pomáhají při manipulaci s absolutními a relativními řetězci cesty, zatímco System.IO.File třídy a System.IO.Directory mají statické členy, které ve skutečnosti manipulují se soubory a adresáři.

Důležité

Pokud uživatel vaší aplikace změní složku v FileDialog, nastaví se aktuální pracovní adresář vaší aplikace na umístění zadané v FileDialog. Chcete-li tomu zabránit, nastavte RestoreDirectory vlastnost na truehodnotu .

Pole

EventFileOk

FileOk Vlastní událost.

Vlastnosti

AddExtension

Získá nebo nastaví hodnotu označující, zda dialogové okno automaticky přidá příponu k názvu souboru, pokud uživatel vynechá příponu.

AddToRecent

Získá nebo nastaví hodnotu označující, zda dialogové okno přidá soubor, který je otevřen nebo uložen do posledního seznamu.

AutoUpgradeEnabled

Získá nebo nastaví hodnotu určující, zda tato FileDialog instance má automaticky upgradovat vzhled a chování při spuštění v systému Windows Vista.

CanRaiseEvents

Získá hodnotu označující, zda komponenta může vyvolat událost.

(Zděděno od Component)
CheckFileExists

Získá nebo nastaví hodnotu označující, zda dialogové okno zobrazí upozornění, pokud uživatel zadá název souboru, který neexistuje.

CheckPathExists

Získá nebo nastaví hodnotu označující, zda dialogové okno zobrazí upozornění, pokud uživatel určuje cestu, která neexistuje.

ClientGuid

Získá nebo nastaví identifikátor GUID pro přidružení k tomuto stavu dialogového okna. Stav, jako je například naposledy navštívená složka, a umístění a velikost dialogového okna jsou obvykle trvalé na základě názvu spustitelného souboru. Zadáním identifikátoru GUID může mít aplikace různé trvalé stavy pro různé verze dialogového okna v rámci stejné aplikace (například dialogové okno importu a otevřené dialogové okno).

Tato funkce není dostupná, pokud aplikace nepoužívá vizuální styly nebo pokud AutoUpgradeEnabled je nastavená na falsehodnotu .

Container

Získá objekt IContainer , který obsahuje Component.

(Zděděno od Component)
CustomPlaces

Získá vlastní místa kolekce pro tuto FileDialog instanci.

DefaultExt

Získá nebo nastaví výchozí příponu názvu souboru.

DereferenceLinks

Získá nebo nastaví hodnotu určující, zda dialogové okno vrátí umístění souboru, na který odkazuje zástupce, nebo zda vrátí umístění zástupce (.lnk).

DesignMode

Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component .

(Zděděno od Component)
Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
FileName

Získá nebo nastaví řetězec obsahující název souboru vybraného v dialogovém okně soubor.

FileNames

Získá názvy souborů všech vybraných souborů v dialogovém okně.

Filter

Získá nebo nastaví aktuální název souboru řetězec filtru, který určuje volby, které se zobrazí v "Uložit jako typ souboru" nebo "Soubory typu" v dialogovém okně.

FilterIndex

Získá nebo nastaví index filtru aktuálně vybraného v dialogovém okně souboru.

InitialDirectory

Získá nebo nastaví počáteční adresář zobrazený soubor dialogové okno.

Instance

Získá popisovač instance Win32 pro aplikaci.

OkRequiresInteraction

Získá nebo nastaví hodnotu označující, zda je tlačítko OK dialogového okna zakázáno, dokud uživatel nepřejde v zobrazení nebo upraví název souboru (pokud je k dispozici).

Options

Získá hodnoty pro inicializaci FileDialog.

RestoreDirectory

Získá nebo nastaví hodnotu označující, zda dialogové okno obnoví adresář dříve vybraný adresář před uzavřením.

ShowHelp

Získá nebo nastaví hodnotu označující, zda je tlačítko Nápověda zobrazena v dialogovém okně souboru.

ShowHiddenFiles

Získá nebo nastaví hodnotu označující, zda dialogové okno zobrazí skryté a systémové soubory.

ShowPinnedPlaces

Získá nebo nastaví hodnotu označující, zda jsou zobrazeny položky zobrazené ve výchozím nastavení v navigačním podokně zobrazení.

Site

Získá nebo nastaví ISite hodnotu Component.

(Zděděno od Component)
SupportMultiDottedExtensions

Získá nebo nastaví, zda dialogové okno podporuje zobrazení a ukládání souborů, které mají více přípon názvů souborů.

Tag

Získá nebo nastaví objekt, který obsahuje data o ovládacím prvku.

(Zděděno od CommonDialog)
Title

Získá nebo nastaví název dialogového okna souboru.

ValidateNames

Získá nebo nastaví hodnotu označující, zda dialogové okno přijímá pouze platné názvy souborů Win32.

Metody

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané nástrojem Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané Component nástrojem a volitelně uvolní spravované prostředky.

(Zděděno od Component)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jejím Containerobjektem .

(Zděděno od Component)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Definuje společnou proceduru pro připojení dialogového okna, která se přepíše, aby se do dialogového okna souboru přidaly konkrétní funkce.

InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
OnFileOk(CancelEventArgs)

FileOk Vyvolá událost.

OnHelpRequest(EventArgs)

HelpRequest Vyvolá událost.

(Zděděno od CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Definuje proceduru okna vlastníka, která je přepsána pro přidání konkrétní funkce do běžného dialogového okna.

(Zděděno od CommonDialog)
Reset()

Obnoví výchozí hodnoty všech vlastností.

RunDialog(IntPtr)

Určuje společné dialogové okno.

ShowDialog()

Spustí společné dialogové okno s výchozím vlastníkem.

(Zděděno od CommonDialog)
ShowDialog(IWin32Window)

Spustí společné dialogové okno se zadaným vlastníkem.

(Zděděno od CommonDialog)
ToString()

Poskytuje řetězcovou verzi tohoto objektu.

Událost

Disposed

Nastane, když je komponenta odstraněna voláním Dispose() metody.

(Zděděno od Component)
FileOk

Nastane, když uživatel klikne na tlačítko Otevřít nebo Uložit v dialogovém okně souboru.

HelpRequest

Nastane, když uživatel klikne na tlačítko Nápověda ve společném dialogovém okně.

(Zděděno od CommonDialog)

Platí pro

Viz také