FileDialog Klas

Definitie

Hiermee wordt een dialoogvenster weergegeven waaruit de gebruiker een bestand kan selecteren.

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
Overname
Afgeleid

Voorbeelden

In het volgende codevoorbeeld wordt gebruikgemaakt van de OpenFileDialog implementatie van het maken en illustreren van FileDialog het maken, instellen van eigenschappen en het weergeven van het dialoogvenster. In het voorbeeld wordt de ShowDialog methode gebruikt om het dialoogvenster weer te geven en de DialogResult. Voor het voorbeeld is een formulier vereist met een Button geplaatst formulier en de System.IO naamruimte die eraan is toegevoegd.

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

Opmerkingen

FileDialog is een abstracte klasse die gemeenschappelijk gedrag voor de OpenFileDialog en SaveFileDialog klassen bevat. Het is niet bedoeld om rechtstreeks te worden gebruikt, maar bevat gemeenschappelijk gedrag voor deze twee klassen. U kunt geen exemplaar van FileDialog. Hoewel de klasse openbaar is gedeclareerd, kunt u deze niet overnemen, omdat deze interne abstracte methoden bevat. Als u een dialoogvenster wilt maken om een bestand te selecteren of op te slaan, gebruikt OpenFileDialog of SaveFileDialog.

FileDialog is een modaal dialoogvenster; Wanneer dit wordt weergegeven, wordt de rest van de toepassing geblokkeerd totdat de gebruiker een bestand heeft gekozen. Wanneer een dialoogvenster modaal wordt weergegeven, kan er geen invoer (toetsenbord of muisklik) optreden, behalve voor objecten in het dialoogvenster. Het programma moet het dialoogvenster verbergen of sluiten (meestal in reactie op een bepaalde gebruikersactie) voordat invoer voor het aanroepende programma kan optreden.

Caution

Wanneer u klassen gebruikt die zijn afgeleid van FileDialog, zoals OpenFileDialog en SaveFileDialog, vermijdt u het gebruik van letterlijke tekenreeksen die absolute paden bevatten. In plaats daarvan verkrijgt u dynamisch het pad met behulp van een of meer van de technieken die in de volgende tabel worden beschreven.

Als u wilt dat gebruikers een map selecteren in plaats van een bestand, gebruikt u de FolderBrowserDialog.

Afhankelijk van het type toepassing, hoe gegevens die zijn gekoppeld aan de toepassing worden opgeslagen en de reden voor toegang tot het bestandssysteem, zijn er veel mogelijke manieren waarop u een mappad kunt maken. In de volgende tabel ziet u de technieken voor het dynamisch maken van paden.

Pad- of programmacategorie Klas en leden die moeten worden gebruikt
Standaard Windows paden, zoals Program Files, MyDocuments, het bureaublad, enzovoort De System.Environment klasse is de meest volledige bron voor deze, hetzij via de statische methoden, zoals SystemDirectory, of via de GetFolderPath methode, met behulp van een van de Environment.SpecialFolder opgesomde waarden.
Paden met betrekking tot de huidige toepassing De Application klasse heeft statische leden om bepaalde paden te verkrijgen, zoals StartupPath, ExecutablePath, LocalUserAppDataPathen CommonAppDataPath.

De GetTempPath methode van de map System.IO.Path retourneert het pad van de tijdelijke map.

De GetCurrentDirectory methode van de System.IO.Directory klasse retourneert de huidige uitvoermap van de toepassing.

De RootDirectory eigenschap van de DriveInfo klasse vertegenwoordigt de hoofdmap van het opgegeven station.
Paden die zijn opgeslagen als toepassingsinstellingen Toegang tot de bijbehorende toepassingsinstellingeneigenschap van de wrapper-klasse die is afgeleid van ApplicationSettingsBase. Zie Application Settings for Windows Forms voor meer informatie.
Registeropslag In sommige toepassingen worden mapgegevens opgeslagen in het register. De Application klasse heeft de CommonAppDataPath en LocalUserAppDataPath eigenschappen die worden omgezet in een RegistryKey waarde.
ClickOnce-toepassingen Voor ClickOnce-toepassingen gebruikt Application u klasseleden zoals UserAppDataPath, waarmee een aanwijzer wordt geretourneerd naar de clickOnce-gegevensmap. Zie Toegang tot lokale en externe gegevens in ClickOnce-toepassingen voor meer informatie.
Internationale toepassingen Haal voor internationale toepassingen het relatieve padgedeelte op uit een tekenreeksresource in uw toepassing met behulp van de System.Resources.ResourceReader klasse. Zie het onderwerp Globalization and Localization (Globalization and Localization) voor meer informatie over globalisatie en lokalisatie.

U ziet dat een volledig pad kan worden opgebouwd met behulp van een of meer van de beschreven technieken. De methode kan bijvoorbeeld GetFolderPath worden gebruikt om het pad naar de map MyDocuments te verkrijgen, waarna een toepassingsinstelling kan worden gebruikt om een relatief submapgedeelte toe te voegen.

De System.IO.Path klasse bevat statische leden om te helpen bij het bewerken van absolute en relatieve padtekenreeksen, terwijl de System.IO.File en System.IO.Directory klassen statische leden hebben die bestanden en mappen daadwerkelijk bewerken.

Important

Als de gebruiker van uw toepassing de map in de FileDialogmap wijzigt, wordt de huidige werkmap voor uw toepassing ingesteld op de locatie die is opgegeven in de FileDialog. U kunt dit voorkomen door de RestoreDirectory eigenschap in te stellen op true.

Velden

Name Description
EventFileOk

Is eigenaar van het FileOk evenement.

Eigenschappen

Name Description
AddExtension

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of in het dialoogvenster automatisch een extensie wordt toegevoegd aan een bestandsnaam als de gebruiker de extensie weglaat.

AddToRecent

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het dialoogvenster het bestand toevoegt dat wordt geopend of opgeslagen in de recente lijst.

AutoUpgradeEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of dit FileDialog-exemplaar het uiterlijk en gedrag automatisch moet upgraden wanneer deze wordt uitgevoerd op Windows Vista.

CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
CheckFileExists

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of in het dialoogvenster een waarschuwing wordt weergegeven als de gebruiker een bestandsnaam opgeeft die niet bestaat.

CheckPathExists

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of in het dialoogvenster een waarschuwing wordt weergegeven als de gebruiker een pad opgeeft dat niet bestaat.

ClientGuid

Hiermee wordt de GUID opgehaald of ingesteld om aan deze dialoogvensterstatus te koppelen. Normaal gesproken wordt de status zoals de laatst bezochte map en de positie en grootte van het dialoogvenster behouden op basis van de naam van het uitvoerbare bestand. Door een GUID op te geven, kan een toepassing verschillende persistente statussen hebben voor verschillende versies van het dialoogvenster binnen dezelfde toepassing (bijvoorbeeld een importdialoogvenster en een geopend dialoogvenster).

Deze functionaliteit is niet beschikbaar als een toepassing geen visuele stijlen gebruikt of als AutoUpgradeEnabled deze is ingesteld op false.

Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
CustomPlaces

Hiermee haalt u de verzameling aangepaste locaties voor dit FileDialog exemplaar op.

DefaultExt

Hiermee haalt u de standaardbestandsextensie op of stelt u deze in.

DereferenceLinks

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het dialoogvenster de locatie retourneert van het bestand waarnaar wordt verwezen door de snelkoppeling of de locatie van de snelkoppeling (.lnk).

DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
FileName

Hiermee haalt u een tekenreeks op die de bestandsnaam bevat die is geselecteerd in het dialoogvenster Bestand.

FileNames

Hiermee haalt u de bestandsnamen op van alle geselecteerde bestanden in het dialoogvenster.

Filter

Hiermee haalt u de filtertekenreeks voor de huidige bestandsnaam op of stelt u deze in. Hiermee bepaalt u de opties die worden weergegeven in het vak Opslaan als bestandstype of bestandstype in het dialoogvenster.

FilterIndex

Hiermee haalt u de index op van het filter dat momenteel is geselecteerd in het dialoogvenster Bestand.

InitialDirectory

Hiermee wordt de eerste map opgehaald of ingesteld die wordt weergegeven in het dialoogvenster Bestand.

Instance

Hiermee haalt u de Win32-exemplaargreep voor de toepassing op.

OkRequiresInteraction

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de knop OK van het dialoogvenster is uitgeschakeld totdat de gebruiker door de weergave navigeert of de bestandsnaam bewerkt (indien van toepassing).

Options

Hiermee worden waarden opgehaald voor het initialiseren van de FileDialog.

RestoreDirectory

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het dialoogvenster de map herstelt naar de eerder geselecteerde map voordat u deze sluit.

ShowHelp

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Knop Help wordt weergegeven in het dialoogvenster Bestand.

ShowHiddenFiles

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het dialoogvenster verborgen en systeembestanden weergeeft.

ShowPinnedPlaces

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de items die standaard worden weergegeven in het navigatiedeelvenster van de weergave, worden weergegeven.

Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)
SupportMultiDottedExtensions

Hiermee haalt u op of stelt u in of het dialoogvenster ondersteuning biedt voor het weergeven en opslaan van bestanden met meerdere bestandsnaamextensies.

Tag

Hiermee wordt een object opgehaald of ingesteld dat gegevens over het besturingselement bevat.

(Overgenomen van CommonDialog)
Title

Hiermee haalt u de titel van het dialoogvenster bestand op of stelt u deze in.

ValidateNames

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het dialoogvenster alleen geldige Win32-bestandsnamen accepteert.

Methoden

Name Description
CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van Component)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()
Verouderd.

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Hiermee definieert u de algemene dialoogvensterhookprocedure die wordt overschreven om specifieke functionaliteit toe te voegen aan het dialoogvenster Bestand.

InitializeLifetimeService()
Verouderd.

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
OnFileOk(CancelEventArgs)

Hiermee wordt de FileOk gebeurtenis gegenereerd.

OnHelpRequest(EventArgs)

Hiermee wordt de HelpRequest gebeurtenis gegenereerd.

(Overgenomen van CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Hiermee definieert u de procedure voor het eigenaarvenster dat wordt overschreven om specifieke functionaliteit toe te voegen aan een algemeen dialoogvenster.

(Overgenomen van CommonDialog)
Reset()

Hiermee stelt u alle eigenschappen opnieuw in op de standaardwaarden.

RunDialog(IntPtr)

Hiermee geeft u een algemeen dialoogvenster.

ShowDialog()

Hiermee wordt een algemeen dialoogvenster met een standaardeigenaar uitgevoerd.

(Overgenomen van CommonDialog)
ShowDialog(IWin32Window)

Hiermee wordt een algemeen dialoogvenster met de opgegeven eigenaar uitgevoerd.

(Overgenomen van CommonDialog)
ToString()

Biedt een tekenreeksversie van dit object.

gebeurtenis

Name Description
Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)
FileOk

Treedt op wanneer de gebruiker op de knop Openen of Opslaan in een dialoogvenster bestand klikt.

HelpRequest

Treedt op wanneer de gebruiker op de knop Help in een algemeen dialoogvenster klikt.

(Overgenomen van CommonDialog)

Van toepassing op

Zie ook