Partager via


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 et FileDialog illustre la création, le OpenFileDialog paramètre des propriétés et l’affichage de la boîte de dialogue. L’exemple utilise la méthode pour afficher la ShowDialog boîte de dialogue et retourner le DialogResult. L’exemple nécessite un formulaire avec un Button formulaire placé sur celui-ci et l’espace System.IO de noms ajouté à celui-ci.

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

FileDialogest une classe abstraite qui contient un comportement commun pour les classes et SaveFileDialog les OpenFileDialog classes. Il n’est pas destiné à être utilisé directement, mais contient un comportement courant 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 hériter de celle-ci, car elle contient des méthodes abstraites internes. Pour créer une boîte de dialogue pour sélectionner ou 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 à 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 utilisateur) avant que l’entrée au programme appelant puisse se produire.

Avertissement

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 permettre aux utilisateurs de sélectionner un dossier au lieu d’un fichier, utilisez le FolderBrowserDialogfichier .

Selon le type d’application, la façon dont les données associées à l’application sont stockées et la raison d’accéder au système de fichiers, il existe de nombreuses façons possibles 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.

Chemin d’accès ou catégorie de programme Classe et membres à utiliser
Chemins Windows standard, tels que Program Files, MyDocuments, desktop, etc. La System.Environment classe est la source la plus complète pour celles-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 liés à l’application actuelle La Application classe a des membres statiques pour obtenir certains chemins, tels que StartupPath, ExecutablePath, LocalUserAppDataPath, et CommonAppDataPath.

Méthode GetTempPath du System.IO.Path retour du 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 stockés en tant que paramètres d’application Accédez à la propriété des paramètres des applications 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 propriétés et LocalUserAppDataPath les CommonAppDataPath propriétés qui se résolvent en valeurRegistryKey.
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 de sous-répertoire relative.

La System.IO.Path classe contient des membres statiques pour aider à manipuler des chaînes de chemin d’accès absolues et relatives, tandis que les System.IO.File classes et System.IO.Directory les classes ont des membres statiques qui manipulent réellement des fichiers et des répertoires, respectivement.

Important

Si l’utilisateur de votre application modifie le dossier dans le FileDialogrépertoire de travail actif pour votre application est défini sur l’emplacement spécifié dans le FileDialog. Pour éviter cela, définissez la RestoreDirectory propriété sur true.

Champs

Nom Description
EventFileOk

Possède l’événement FileOk .

Propriétés

Nom Description
AddExtension

Obtient ou définit une valeur indiquant si la boîte de dialogue ajoute automatiquement une extension à un nom de fichier si l’utilisateur omet l’extension.

AddToRecent

Obtient ou définit une valeur indiquant si la boîte de dialogue ajoute le fichier ouvert ou enregistré dans la liste récente.

AutoUpgradeEnabled

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

CanRaiseEvents

Obtient une valeur indiquant 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 avertissement si 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 avertissement si 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. En règle générale, l’état tel que le dernier dossier visité et 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 différents états persistants 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 elle est définie falsesur .

Container

Obtient le IContainer fichier qui contient le Component.

(Hérité de Component)
CustomPlaces

Obtient la collection places personnalisée pour cette FileDialog instance.

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 si elle retourne l’emplacement du raccourci (.lnk).

DesignMode

Obtient une valeur qui indique si la Component valeur est actuellement en mode création.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component.

(Hérité de Component)
FileName

Obtient ou définit une chaîne contenant 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 filtre de nom de fichier actuelle, qui détermine les choix qui apparaissent dans la zone « Enregistrer en tant que type de fichier » ou « Fichiers de type » dans la boîte de dialogue.

FilterIndex

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

InitialDirectory

Obtient ou définit le répertoire initial affiché par la boîte de dialogue 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 l’affichage ou modifie le nom de fichier (le cas échéant).

Options

Obtient des valeurs pour initialiser le FileDialog.

RestoreDirectory

Obtient ou définit une valeur indiquant si la boîte de dialogue restaure le répertoire dans le répertoire précédemment sélectionné avant la fermeture.

ShowHelp

Obtient ou définit une valeur indiquant si le bouton Aide s’affiche dans la boîte de dialogue fichier.

ShowHiddenFiles

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

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 ISiteComponent.

(Hérité de Component)
SupportMultiDottedExtensions

Obtient ou définit si la boîte de dialogue prend en charge l’affichage et l’enregistrement de fichiers qui ont plusieurs extensions de nom de fichier.

Tag

Obtient ou définit un objet qui contient des données sur le 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 accepte uniquement les noms de fichiers Win32 valides.

Méthodes

Nom Description
CreateObjRef(Type)

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

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

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

Libère les ressources non managées utilisées par les Component ressources gérées 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()

Sert 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 actuel 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 le Component ou par son Container.

(Hérité de Component)
GetType()

Obtient la Type de l’instance actuelle.

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

Définit la procédure courante de raccordement de boîte de dialogue substituée pour ajouter des fonctionnalités spécifiques à la boîte de dialogue 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 Objectactuel.

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

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

(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 substituée pour ajouter des fonctionnalités spécifiques à une boîte de dialogue commune.

(Hérité de CommonDialog)
Reset()

Réinitialise toutes les propriétés à leurs valeurs par défaut.

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

Nom Description
Disposed

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

(Hérité de Component)
FileOk

Se produit lorsque l’utilisateur clique sur le bouton Ouvrir ou Enregistrer dans une boîte de dialogue 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