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’implémentation OpenFileDialog de FileDialog et illustre la création, la définition de propriétés et l’affichage 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 nécessite un formulaire avec un Button placé dessus et l’espace System.IO 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 le comportement courant pour les OpenFileDialog classes et SaveFileDialog . Il n’est pas destiné à être utilisé directement, mais 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 publique, vous ne pouvez pas en hériter, 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. Lorsqu’une boîte de dialogue s’affiche modalement, aucune entrée (clavier ou clic de souris) ne peut se produire que pour les 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 dans le programme appelant puisse se produire.

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 absolus. Au lieu de cela, obtenez dynamiquement le chemin à l’aide d’une ou plusieurs des techniques décrites dans le tableau suivant.

Si vous souhaitez autoriser les utilisateurs à sélectionner un dossier au lieu d’un fichier, utilisez le FolderBrowserDialog.

Selon le type d’application, la façon dont les données associées à l’application sont stockées et la raison de l’accès au système de fichiers, il existe de nombreuses façons de créer un chemin d’accès au répertoire. Le tableau suivant présente les techniques de création dynamique de chemins d’accès.

Catégorie de chemin d’accès ou de programme Classe et membres à utiliser
Chemins Windows standard, tels que Program Files, MyDocuments, Le Bureau, etc. La System.Environment classe est la source la plus complète pour ceux-ci, soit par le biais de ses méthodes statiques, telles que SystemDirectory, soit par le biais de la GetFolderPath méthode , à l’aide de l’une Environment.SpecialFolder des valeurs énumérées.
Chemins d’accès liés à l’application actuelle La Application classe a des membres statiques pour obtenir certains chemins, tels que StartupPath, ExecutablePath, LocalUserAppDataPathet CommonAppDataPath.

La GetTempPath méthode de retourne System.IO.Path le chemin du dossier temporaire.

La GetCurrentDirectory méthode de la System.IO.Directory classe retourne le répertoire d’exécution actuel 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é de paramètres d’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 propriétés et LocalUserAppDataPath qui sont résolues en une RegistryKey valeur.
applications ClickOnce Pour les applications ClickOnce, utilisez Application des 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 à partir d’une ressource de 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 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, puis un paramètre d’application peut être utilisé pour ajouter une partie relative du sous-répertoire.

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

Important

Si l’utilisateur de votre application modifie le dossier dans , FileDialogle répertoire de travail actuel de votre application est défini sur l’emplacement spécifié dans le FileDialog. Pour éviter cela, définissez la propriété sur RestoreDirectorytrue.

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.

AddToRecent

Obtient ou définit une valeur indiquant si la boîte de dialogue ajoute le fichier en cours d’ouverture ou d’enregistrement à la liste récente.

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.

OkRequiresInteraction

Obtient ou définit une valeur indiquant si le bouton OK de la boîte de dialogue est désactivé jusqu’à ce que l’utilisateur navigue dans la vue ou modifie le nom de fichier (le cas échéant).

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.

ShowHiddenFiles

Obtient ou définit une valeur indiquant si la boîte de dialogue affiche les fichiers système et masqués.

ShowPinnedPlaces

Obtient ou définit une valeur indiquant si les éléments affichés par défaut dans le volet de navigation de l’affichage sont affichés.

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