0 votes

C# : comment vérifier et afficher le contenu d'un dossier ?

Je ne sais pas si ce sujet a déjà été abordé ou non, mais je ne suis pas sûr du mot exact à rechercher. Quelle méthode/classe dois-je utiliser ?

Le programme comporte 3 boutons : 1) pour la navigation dans les dossiers, 2) pour la recherche du contenu du dossier sélectionné, et 3) pour l'ouverture du fichier. Lorsque l'utilisateur parcourt le dossier sélectionné* (1) L'utilisateur clique sur le bouton de balayage pour balayer du premier fichier jusqu'au dernier fichier disponible et le répertorier dans la zone de texte. (2) * et à partir de là, l'utilisateur peut décider d'ouvrir les fichiers ou non*. (3) *.

Voici ce que j'ai fait jusqu'à présent (n° 1 et 3) :

//For browse.
private void browse2()
{
    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
     {
        this.txtDest.Text = folderBrowserDialog1.SelectedPath;
     }
}

//For opening folder.
private void btnOpen_Click(object sender, EventArgs e)
{
    try
    {
        Process.Start(txtDest.Text);
    }
    catch
    {
        MessageBox.Show("Please select one file/folder");
    }
}

0voto

Mon exemple est une application WPF qui ajoute des fichiers/dossiers dans un répertoire à une arborescence, mais vous devriez comprendre l'idée générale :

Note : Le code a été écrit pour un exercice d'entraînement, et n'a donc que trois niveaux de profondeur, comme une sorte de preuve de concept.

 private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            foreach (DriveInfo di in DriveInfo.GetDrives())
            {
                TreeViewItem drive = new TreeViewItem();
                drive.Header = di.Name;
                treeView1.Items.Add(drive);

                DirectoryInfo folders = new DirectoryInfo(di.Name);

                // The depth count means that it only goes 3 levels deep, to make it quick to load
                GetFoldersAndFiles(drive, folders, 3);
            }
        }

        private static void GetFoldersAndFiles(TreeViewItem parent, DirectoryInfo folders, int depth)
        {        
            if ((depth > 0)
            {
                foreach (DirectoryInfo dirI in folders.GetDirectories())
                {
                    TreeViewItem dir = new TreeViewItem();
                    dir.Header = dirI.Name;
                    parent.Items.Add(dir);

                    GetFoldersAndFiles(dir, dirI, depth - 1);
                }

                foreach (FileInfo fileI in folders.GetFiles())
                {
                    TreeViewItem file = new TreeViewItem();
                    file.Header = fileI.Name;
                    parent.Items.Add(file);
                }
            }
        }

0voto

TJB Points 7536

Si vous essayez juste de ouvrir un fichier vous pouvez utiliser directement un Boîte de dialogue Ouvrir un fichier .

Si vous devez afficher le contenu d'un répertoire vous pouvez utiliser le Classe Info Annuaire .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X