FileDialog Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| 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) |