FileDialog Classe

Définition

Affiche une boîte de dialogue à partir de laquelle l'utilisateur peut sélectionner un fichier.

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
Héritage
Dérivé

Exemples

L’exemple de code suivant utilise l' OpenFileDialog implémentation de FileDialog et illustre la création, la définition de propriétés et l’indication de la boîte de dialogue. L’exemple utilise la ShowDialog méthode pour afficher la boîte de dialogue et retourner le DialogResult . L’exemple requiert un formulaire avec un Button placé sur celui-ci et l' System.IO espace de noms qui lui est ajouté.

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

Remarques

FileDialog est une classe abstraite qui contient un comportement commun pour les OpenFileDialog SaveFileDialog classes et. Elle n’est pas destinée à être utilisée directement, mais elle contient un comportement commun pour ces deux classes. Vous ne pouvez pas créer une instance de FileDialog . Bien que la classe soit déclarée comme étant publique, vous ne pouvez pas hériter de celle-ci, car elle contient des méthodes abstraites internes. Pour créer une boîte de dialogue permettant de sélectionner ou d’enregistrer un fichier, utilisez OpenFileDialog ou SaveFileDialog .

FileDialog est une boîte de dialogue modale ; par conséquent, lorsqu’il est affiché, il bloque le reste de l’application jusqu’à ce que l’utilisateur ait choisi un fichier. Quand une boîte de dialogue s’affiche de façon modale, aucune entrée (clavier ou clic de souris) ne peut se produire à l’exception des objets de la boîte de dialogue. Le programme doit masquer ou fermer la boîte de dialogue (généralement en réponse à une action de l’utilisateur) avant que l’entrée du programme appelant puisse être exécutée.

Attention

Lorsque vous utilisez des classes dérivées de FileDialog , telles que OpenFileDialog et SaveFileDialog , évitez d’utiliser des littéraux de chaîne contenant des chemins d’accès absolus. Au lieu de cela, obtenez dynamiquement le chemin d’accès à l’aide d’une ou de plusieurs des techniques décrites dans le tableau suivant.

Si vous souhaitez permettre aux utilisateurs de sélectionner un dossier au lieu d’un fichier, utilisez le FolderBrowserDialog .

En fonction du type d’application, de la façon dont les données associées à l’application sont stockées et de la raison pour accéder au système de fichiers, il existe de nombreuses façons de créer un chemin d’accès de répertoire. Le tableau suivant montre les techniques permettant de créer des chemins dynamiquement.

Chemin ou catégorie de programme Classes et membres à utiliser
chemins d’accès Windows Standard, tels que Program Files, MyDocuments, le bureau, etc. La System.Environment classe est la source la plus complète de ces dernières, par le biais de ses méthodes statiques, telles que SystemDirectory , ou via la GetFolderPath méthode, à l’aide de l’une des Environment.SpecialFolder valeurs énumérées.
Chemins d’accès relatifs à l’application actuelle La Application classe a des membres statiques pour obtenir certains chemins d’accès, tels que StartupPath ,, ExecutablePath LocalUserAppDataPath et CommonAppDataPath .

La GetTempPath méthode de System.IO.Path retourne le chemin d’accès du dossier temporaire.

La GetCurrentDirectory méthode de la System.IO.Directory classe retourne le répertoire en cours d’exécution de l’application.

La RootDirectory propriété de la DriveInfo classe représente le répertoire racine du lecteur spécifié.
Chemins d’accès stockés en tant que paramètres d’application Accédez à la propriété des paramètres de l’application correspondante de la classe wrapper dérivée de ApplicationSettingsBase . pour plus d’informations, consultez Paramètres d’Application pour Windows Forms.
Stockage du Registre Certaines applications stockent des informations d’annuaire dans le registre. La Application classe a les CommonAppDataPath LocalUserAppDataPath Propriétés et qui sont résolues en une RegistryKey valeur.
applications ClickOnce pour les applications ClickOnce, utilisez des Application membres de classe tels que UserAppDataPath , qui retournent un pointeur vers le répertoire de données ClickOnce. pour plus d’informations, consultez accès aux données locales et distantes dans les Applications ClickOnce.
Applications internationales Pour les applications internationales, récupérez la partie relative du chemin d’accès d’une ressource de type chaîne dans votre application à l’aide de la System.Resources.ResourceReader classe. Pour plus d’informations sur la globalisation et la localisation, consultez la rubrique globalisation et localisation.

Notez qu’un chemin d’accès complet peut être créé à l’aide d’une ou de plusieurs des techniques décrites. Par exemple, la GetFolderPath méthode peut être utilisée pour obtenir le chemin d’accès au dossier MyDocuments, alors un paramètre d’application peut être utilisé pour ajouter une partie de sous-répertoire relative.

La System.IO.Path classe contient des membres statiques pour faciliter la manipulation de chaînes de chemin d’accès absolu et relatif, tandis que les System.IO.File System.IO.Directory classes et ont des membres statiques qui manipulent des fichiers et des répertoires, respectivement.

Important

Si l’utilisateur de votre application modifie le dossier dans FileDialog , le répertoire de travail actuel de votre application est défini à l’emplacement spécifié dans le FileDialog . Pour éviter cela, affectez RestoreDirectory à la propriété la valeur true .

Champs

EventFileOk

Possède l'événement FileOk.

Propriétés

AddExtension

Obtient ou définit une valeur indiquant si la boîte de dialogue ajoute automatiquement une extension au nom de fichier lorsque l'utilisateur n'en fait pas mention.

AutoUpgradeEnabled

obtient ou définit une valeur indiquant si cette FileDialog instance doit mettre automatiquement à niveau l’apparence et le comportement lors de l’exécution sur Windows Vista.

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
CheckFileExists

Obtient ou définit une valeur indiquant si la boîte de dialogue affiche un message d'avertissement lorsque l'utilisateur spécifie un nom de fichier qui n'existe pas.

CheckPathExists

Obtient ou définit une valeur indiquant si la boîte de dialogue affiche un message d'avertissement lorsque l'utilisateur spécifie un chemin d'accès qui n'existe pas.

ClientGuid

Obtient ou définit le GUID à associer à cet état de boîte de dialogue. Généralement, l’état du dernier dossier visité ainsi que la position et la taille de la boîte de dialogue sont conservés en fonction du nom du fichier exécutable. En spécifiant un GUID, une application peut avoir des états persistants différents pour différentes versions de la boîte de dialogue au sein de la même application (par exemple, une boîte de dialogue d’importation et une boîte de dialogue ouverte).

Cette fonctionnalité n’est pas disponible si une application n’utilise pas de styles visuels ou si AutoUpgradeEnabled a la valeur false.

Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
CustomPlaces

Obtient la collection d'emplacements personnalisés pour cette instance FileDialog.

DefaultExt

Obtient ou définit l’extension de nom de fichier par défaut.

DereferenceLinks

Obtient ou définit une valeur indiquant si la boîte de dialogue retourne l'emplacement du fichier référencé par le raccourci ou bien l'emplacement de ce raccourci (.lnk).

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
FileName

Obtient ou définit une chaîne comportant le nom de fichier sélectionné dans la boîte de dialogue Fichier.

FileNames

Obtient les noms de fichiers de tous les fichiers sélectionnés dans la boîte de dialogue.

Filter

Obtient ou définit la chaîne de filtrage des noms de fichiers en cours, qui détermine les choix disponibles dans les zones « Enregistrer sous » ou « Types de fichiers » de la boîte de dialogue.

FilterIndex

Obtient ou définit l'index du filtre actuellement sélectionné dans la boîte de dialogue de fichier.

InitialDirectory

Obtient ou définit le répertoire initial affiché dans la boîte de dialogue de fichier.

Instance

Obtient le handle d'instance Win32 pour l'application.

Options

Obtient des valeurs pour initialiser FileDialog.

RestoreDirectory

Obtient ou définit une valeur indiquant si la boîte de dialogue restaure le répertoire actif avant la fermeture.

ShowHelp

Obtient ou définit une valeur indiquant si le bouton Aide est affiché dans la boîte de dialogue Fichier.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)
SupportMultiDottedExtensions

Obtient ou définit le fait que la boîte de dialogue prend ou non en charge l'affichage et l'enregistrement de fichiers qui présentent plusieurs extensions de nom de fichier.

Tag

Obtient ou définit un objet qui contient des données relatives au contrôle.

(Hérité de CommonDialog)
Title

Obtient ou définit le titre de la boîte de dialogue de fichier.

ValidateNames

Obtient ou définit une valeur indiquant si la boîte de dialogue n'accepte que des noms de fichiers Win32 valides.

Méthodes

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.

(Hérité de Component)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Définit la procédure de raccordement d'une boîte de dialogue commune devant être substituée pour qu'une fonctionnalité spécifique soit ajoutée à la boîte de dialogue de fichier.

InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
OnFileOk(CancelEventArgs)

Déclenche l’événement FileOk.

OnHelpRequest(EventArgs)

Déclenche l’événement HelpRequest.

(Hérité de CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Définit la procédure de fenêtre propriétaire devant être substituée pour qu'une fonctionnalité spécifique soit ajoutée à une boîte de dialogue commune.

(Hérité de CommonDialog)
Reset()

Rétablit les valeurs par défaut de toutes les propriétés.

RunDialog(IntPtr)

Spécifie une boîte de dialogue commune.

ShowDialog()

Exécute une boîte de dialogue commune avec un propriétaire par défaut.

(Hérité de CommonDialog)
ShowDialog(IWin32Window)

Exécute une boîte de dialogue commune avec le propriétaire spécifié.

(Hérité de CommonDialog)
ToString()

Fournit une version de chaîne de cet objet.

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
FileOk

Se produit quand l’utilisateur clique sur le bouton Ouvrir ou Enregistrer dans une boîte de dialogue de fichier.

HelpRequest

Se produit lorsque l'utilisateur clique sur le bouton Aide dans une boîte de dialogue commune.

(Hérité de CommonDialog)

S’applique à

Voir aussi