Boîte de dialogue Ouvrir le dossier en C#
-
Utiliser la classe
FolderBrowserDialog
en C# pour ouvrir une boîte de dialogue de dossier -
Utiliser la classe
OpenFileDialog
en C# pour ouvrir une boîte de dialogue de dossier
Dans les applications C#, l’interaction avec les utilisateurs lors de la sélection des fichiers est un sujet fondamental et obligatoire. Dans ce didacticiel, vous apprendrez les deux manières différentes d’ouvrir une boîte de dialogue de dossier en C#.
Il est important de gérer le navigateur de dossiers et les boîtes de dialogue d’ouverture de fichiers pour sélectionner des fichiers et des dossiers lors du développement de projets C# dans Winforms.
Les boîtes de dialogue de dossier font partie de l’API Windows et sont accessibles aux développeurs C# sur la plate-forme Windows. La première consiste à utiliser la classe OpenFileDialog
pour afficher une boîte de dialogue de dossier permettant d’ouvrir un ou plusieurs fichiers.
L’autre méthode consiste à utiliser le contrôle FolderBrowserDialog
pour afficher une boîte de dialogue de dossier permettant de sélectionner des dossiers dans le même répertoire.
Utiliser la classe FolderBrowserDialog
en C# pour ouvrir une boîte de dialogue de dossier
Cette classe sert à ouvrir un dossier de dialogue pour parcourir et sélectionner un dossier sur un ordinateur. Il possède des fonctionnalités de type Windows Explorer pour naviguer dans les dossiers et sélectionner un dossier.
La classe FolderBrowserDialog
n’a pas ou n’a pas besoin de propriétés visuelles comme les autres. Il fait partie du framework .Net
et fournit un composant de navigateur de dossiers pour vos applications C#.
Le programme C# suivant dans Visual Studio ouvre une boîte de dialogue de dossier et affiche quelque chose lorsque l’utilisateur sélectionne un dossier et appuie sur OK
. Créez un Form1.cs [Design]
dans Visual Studio et un bouton button1
avant d’exécuter le code C#.
using System;
using System.Data;
using System.Linq;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.IO;
using System.Windows.Forms;
namespace openFolderDialog {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
// `button1` button click event to open folder dialog
private void button1_Click(object sender, EventArgs e) {
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
// shows the path to the selected folder in the folder dialog
MessageBox.Show(fbd.SelectedPath);
}
}
}
Bien que FolderBrowserDialog
soit un moyen pratique d’ouvrir une boîte de dialogue de dossier en C#, il souffre de nombreuses limitations, certaines empêchant le composant d’être utile dans les applications.
Il dispose de puissantes fonctionnalités de contrôle du comportement et de personnalisation bien en avance sur l’Explorateur Windows.
Utiliser la classe OpenFileDialog
en C# pour ouvrir une boîte de dialogue de dossier
En C#, le contrôle OpenFileDialog
est le plus simple pour lancer Windows Open File Dialog et leur permettre de sélectionner des fichiers dans le même répertoire. L’objectif principal d’Open File Dialog est de sélectionner un ou plusieurs fichiers pour différents processus, tels que le téléchargement et le téléchargement de fichiers en C#.
using System;
using System.Data;
using System.Linq;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.IO;
using System.Windows.Forms;
namespace OpenFileDialogBox_CS {
// create `Form1.cs [Design]`in Visual Studio
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
// create a `btnSelect` button in Form1.cs [Design] and use its name in C# code
private void btnSelect_Click(object sender, EventArgs e) {
openFileDialog1.Multiselect = false;
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
string fileName = Path.GetFileName(openFileDialog1.FileName);
string filePath = openFileDialog1.FileName;
MessageBox.Show(fileName + " - " + filePath);
}
}
// create a `btnSelectMultiple` button in Form1.cs [Design] and use its name in C# code
private void btnSelectMultiple_Click(object sender, EventArgs e) {
string message = "";
openFileDialog1.Multiselect = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
foreach (string file in openFileDialog1.FileNames) {
message += Path.GetFileName(file) + " - " + file + Environment.NewLine;
}
MessageBox.Show(message);
}
}
}
}
Avec OpenFileDialog
, il est possible de n’afficher que les fichiers avec des extensions spécifiques en utilisant sa propriété Filter
.
openFileDialog1.Filter = "Image Files|*.GIF;*.BMP;*.JPEG;*.PNG;*.JPG|All files (*.*)|*.*";
Utilisez le code C# suivant pour que la classe OpenFileDialog
démarre une boîte de dialogue de dossier dans un dossier spécifique.
openFileDialog1.InitialDirectory = "c:\\temp";
Les deux méthodes pour ouvrir la boîte de dialogue de dossier en C# sont simples et prennent en charge une vaste bibliothèque de fonctionnalités et d’autres éléments pour personnaliser la boîte de dialogue d’ouverture de dossier en fonction de vos besoins. De plus, les deux méthodes vous permettent de personnaliser entièrement les éléments de la boîte de dialogue d’ouverture du dossier et leurs propriétés.
Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.
GitHub