FileDialog Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 ilustruje 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 umístěním a System.IO oborem názvů přidaným Button do něj.
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 společné chování pro třídy OpenFileDialog a SaveFileDialog třídy. Není určena k přímému použití, ale obsahuje běžné chování pro tyto dvě třídy. Nelze vytvořit instanci FileDialog. I když je třída deklarována jako veřejná, nemůžete z ní dědit, protože obsahuje interní abstraktní metody. Chcete-li vytvořit dialogové okno pro výběr nebo uložení souboru, použijte OpenFileDialog nebo SaveFileDialog.
FileDialog je modální dialogové okno; pokud se zobrazí, zablokuje zbytek aplikace, dokud uživatel nezvolí soubor. Když se dialogové okno zobrazí modálně, nelze nastat žádný vstup (klávesnice nebo kliknutí myší) s výjimkou objektů v dialogovém okně. Program musí před vstupem do volajícího programu skrýt nebo zavřít dialogové okno (obvykle v reakci na nějakou akci uživatele).
Upozornění
Pokud používáte třídy odvozené z FileDialog, například OpenFileDialog a SaveFileDialog, vyhněte se použití řetězcových literálů obsahujících 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 povolit, aby místo souboru vybrali složku, použijte FolderBrowserDialog.
V závislosti na typu aplikace jsou uložena data přidružená k aplikaci a důvod 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.
| Kategorie cesty nebo programu | Třída a členové, které se mají použít |
|---|---|
| Standardní cesty windows, jako jsou Program Files, MyDocuments, Desktop atd. | Třída je pro tyto třídy nejúplnější zdroj, a to System.Environment buď prostřednictvím svých statických metod, jako SystemDirectoryje , nebo prostřednictvím GetFolderPath metody, pomocí jedné z Environment.SpecialFolder výčtových hodnot. |
| Cesty související s aktuální aplikací | Třída Application má statické členy k získání určitých cest, například StartupPath, ExecutablePath, LocalUserAppDataPatha CommonAppDataPath. Metoda GetTempPathSystem.IO.Path vrátí cestu dočasné složky. 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í aplikace nastavení vlastnost obálky třídy odvozené z ApplicationSettingsBase. Další informace naleznete v tématu Nastavení aplikace pro Windows Forms. |
| Úložiště registru | Některé aplikace ukládají informace o adresáři v registru. Třída Application má CommonAppDataPath vlastnosti LocalUserAppDataPath , které se přeloží na RegistryKey hodnotu. |
| Aplikace ClickOnce | U aplikací ClickOnce použijte Application členy třídy, například UserAppDataPath, které vrátí ukazatel na datový adresář ClickOnce. Další informace naleznete v tématu Přístup k místním a vzdáleným datům v aplikacích ClickOnce. |
| Mezinárodní aplikace | Pro mezinárodní aplikace načtěte relativní cestu část z řetězcového prostředku v aplikaci pomocí System.Resources.ResourceReader třídy. Další informace o globalizaci a lokalizaci najdete 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. Například GetFolderPath metoda může být použita k získání cesty ke složce MyDocuments, pak lze použít nastavení aplikace 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.DirectorySystem.IO.File třídy mají statické členy, které skutečně manipulují se soubory a adresáři.
Důležité
Pokud uživatel aplikace změní složku v aplikaci FileDialog, pak aktuální pracovní adresář pro vaši aplikaci je nastaven na umístění zadané v souboru FileDialog. Chcete-li tomu zabránit, nastavte RestoreDirectory vlastnost na truehodnotu .
Pole
| Name | Description |
|---|---|
| EventFileOk |
Vlastní FileOk událost. |
Vlastnosti
| Name | Description |
|---|---|
| AddExtension |
Získá nebo nastaví hodnotu urč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 urč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 určující, zda komponenta může vyvolat událost. (Zděděno od Component) |
| CheckFileExists |
Získá nebo nastaví hodnotu určující, zda dialogové okno zobrazí upozornění, pokud uživatel určuje název souboru, který neexistuje. |
| CheckPathExists |
Získá nebo nastaví hodnotu urč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. Obvykle se stav, jako je naposledy navštívená složka a umístění a velikost dialogového okna, zachovají 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 ve stejné aplikaci (například dialogové okno importu a otevřené dialogové okno). Tato funkce není k dispozici, pokud aplikace nepoužívá vizuální styly nebo je AutoUpgradeEnabled nastavena na |
| Container |
Získá ten IContainer , který obsahuje Component. (Zděděno od Component) |
| CustomPlaces |
Získá vlastní kolekce míst 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 odkazovaného zástupcem nebo zda vrací umístění zástupce (.lnk). |
| DesignMode |
Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu. (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ý 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í řetězec filtru názvu souboru, který určuje volby, které se zobrazí v poli "Uložit jako typ souboru" nebo "Soubory typu" v dialogovém okně. |
| FilterIndex |
Získá nebo nastaví index filtru aktuálně vybraný v dialogovém okně soubor. |
| InitialDirectory |
Získá nebo nastaví počáteční adresář zobrazený v dialogovém okně soubor. |
| Instance |
Získá popisovač instance Win32 pro aplikaci. |
| OkRequiresInteraction |
Získá nebo nastaví hodnotu určující, zda je tlačítko OK dialogového okna zakázáno, dokud uživatel nepřejde do zobrazení nebo upraví název souboru (pokud je k dispozici). |
| Options |
Získá hodnoty pro inicializaci FileDialog. |
| RestoreDirectory |
Získá nebo nastaví hodnotu určující, zda dialogové okno obnoví adresář do dříve vybraného adresáře před zavřením. |
| ShowHelp |
Získá nebo nastaví hodnotu určující, zda je tlačítko Nápověda zobrazena v dialogovém okně soubor. |
| ShowHiddenFiles |
Získá nebo nastaví hodnotu určující, zda dialogové okno zobrazuje skryté a systémové soubory. |
| ShowPinnedPlaces |
Získá nebo nastaví hodnotu určující, zda položky zobrazené ve výchozím nastavení v navigačním podokně zobrazení jsou zobrazeny. |
| Site |
Získá nebo nastaví ISite .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 určující, zda dialogové okno přijímá pouze platné názvy souborů Win32. |
Metody
| Name | Description |
|---|---|
| CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužící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 a volitelně uvolní spravované prostředky. (Zděděno od Component) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (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 jeho Container. (Zděděno od Component) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| HookProc(IntPtr, Int32, IntPtr, IntPtr) |
Definuje běžnou proceduru háku dialogového okna, která se přepíše, aby do dialogového okna soubor přidala konkrétní funkce. |
| InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (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 společného dialogového okna. (Zděděno od CommonDialog) |
| Reset() |
Obnoví všechny vlastnosti na výchozí hodnoty. |
| 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
| Name | Description |
|---|---|
| Disposed |
Nastane, když komponenta je uvolně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ě soubor. |
| HelpRequest |
Nastane, když uživatel klikne na tlačítko Nápověda v běžném dialogovém okně. (Zděděno od CommonDialog) |