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 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 Application má CommonAppDataPath 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 true
hodnotu .
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 |
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) |