Assembly : System.Windows.Forms (dans system.windows.forms.dll)
SyntaxePublic MustInherit Class FileDialog Inherits CommonDialog
Dim instance As FileDialog
public abstract class FileDialog : CommonDialog
public ref class FileDialog abstract : public CommonDialog
public abstract class FileDialog extends CommonDialog
public abstract class FileDialog extends CommonDialog
NotesFileDialog est une classe abstraite qui contient le comportement courant des classes OpenFileDialog et SaveFileDialog. Il n'est pas destiné à être utilisé directement mais contient le comportement courant de 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 d'elle, 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 désigne une boîte de dialogue modale. Une fois affichée, elle bloque alors le reste de l'application jusqu'à ce que l'utilisateur ait choisi un fichier. Lorsqu'une boîte de dialogue fait l'objet d'un affichage modal, aucune entrée ne peut être effectuée (ni à l'aide du clavier ni à l'aide de la souris) sauf sur les objets figurant dans la boîte de dialogue. Le programme doit masquer ou fermer la boîte de dialogue (généralement après une action de l'utilisateur) avant qu'une entrée dans le programme appelant puisse être effectuée.
Attention |
|---|
| Lorsque vous utilisez les classes dérivées de FileDialog, telles que OpenFileDialog et SaveFileDialog, évitez d'utiliser des littéraux de chaîne qui contiennent des chemins d'accès absolus. À la place, obtenez dynamiquement le chemin d'accès à l'aide d'une ou plusieurs des techniques décrites dans le tableau suivant. |
Selon le type d'application, le mode de stockage des données associées à l'application et la raison d'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 indique les techniques permettant de créer dynamiquement des chemins d'accès.
| Chemin d'accès ou catégorie de programme | Classe et membres à utiliser |
|---|---|
| Chemins d'accès Windows standard, tels que Program Files, Mes documents, le Bureau, etc. | La classe System.Environment est la source la plus complète pour ces chemins d'accès, que ce soit via ses méthodes statiques, telles que SystemDirectory ou via la méthode GetFolderPath, à l'aide d'une des valeurs énumérées Environment.SpecialFolder. |
| Chemins d'accès lié à l'application actuelle | La classe Application possède des membres statiques pour obtenir certains chemins d'accès, tels que StartupPath, ExecutablePath, LocalUserAppDataPath et CommonAppDataPath. La méthode GetTempPath du System.IO.Path retourne le chemin d'accès du dossier temporaire. La méthode GetCurrentDirectory de la classe System.IO.Directory retourne le répertoire d'exécution actif de l'application. La propriété RootDirectory de la classe DriveInfo représente le répertoire racine du lecteur spécifié. |
| Chemins d'accès stockés comme paramètres d'application | Accédez à la propriété de paramètres des applications correspondantes de la classe wrapper dérivée de ApplicationSettingsBase. Pour plus d'informations, consultez Paramètres d'application pour les Windows Forms. |
| Stockage du Registre | Certaines applications stockent des informations d'annuaires dans le Registre. La classe Application possède les propriétés CommonAppDataPath et LocalUserAppDataPath qui sont résolus à une valeur RegistryKey. |
| Applications ClickOnce | Pour les applications ClickOnce, utilisez les membres de la classe Application tels que UserAppDataPath, qui retourneront 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 de chemin d'accès relatif d'une ressource de type chaîne dans votre application en utilisant la classe System.Resources.ResourceReader. Pour plus d'informations sur la globalisation et la localisation, consultez la rubrique Codage 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 méthode GetFolderPath peut être utilisée pour obtenir le chemin d'accès au dossier Mes documents, puis un paramètre d'application peut être utilisé pour ajouter une partie de sous-répertoire relative.
La classe System.IO.Path contient des membres statiques pour aider l'utilisateur dans la manipulation des chaînes de chemin d'accès absolu et relatif, alors que les classes System.IO.File et System.IO.Directory ont des membres statiques qui manipulent en fait des fichiers et des répertoires, respectivement.
ExempleL'exemple de code suivant utilise l'implémentation OpenFileDialog de FileDialog et illustre la création, la définition des propriétés et l'affichage de la boîte de dialogue. L'exemple utilise la méthode ShowDialog pour afficher la boîte de dialogue et retourner DialogResult. L'exemple nécessite qu'un Button soit placé sur un formulaire et que l'espace de noms System.IO y soit ajouté.
Private Sub button1_Click(sender As Object, e As System.EventArgs) Dim myStream As Stream 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() = DialogResult.OK Then myStream = openFileDialog1.OpenFile() If Not (myStream Is Nothing) Then ' Insert code to read the stream here. myStream.Close() End If End If End Sub
private void button1_Click(object sender, System.EventArgs e) { Stream myStream; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "c:\\" ; openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; openFileDialog1.FilterIndex = 2 ; openFileDialog1.RestoreDirectory = true ; if(openFileDialog1.ShowDialog() == DialogResult.OK) { if((myStream = openFileDialog1.OpenFile())!= null) { // Insert code to read the stream here. myStream.Close(); } } }
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() == ::DialogResult::OK ) { if ( (myStream = openFileDialog1->OpenFile()) != nullptr ) { // Insert code to read the stream here. myStream->Close(); } } }
protected void button1_Click(Object sender, System.EventArgs e) { Stream myStream; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.set_InitialDirectory("c:\\"); openFileDialog1.set_Filter( "txt files (*.txt)|*.txt|All files (*.*)|*.*"); openFileDialog1.set_FilterIndex(2); openFileDialog1.set_RestoreDirectory(true); if (openFileDialog1.ShowDialog().Equals(get_DialogResult().OK)) { if ((myStream = openFileDialog1.OpenFile()) != null) { // Insert code to read the stream here. myStream.Close(); } } } //button1_Click
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Attention
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ