Ordner-Dialog öffnen in C#

Syed Hassan Sabeeh Kazmi 12 Oktober 2023
  1. Verwenden Sie die Klasse FolderBrowserDialog in C#, um einen Ordnerdialog zu öffnen
  2. Verwenden Sie die Klasse OpenFileDialog in C#, um einen Ordnerdialog zu öffnen
Ordner-Dialog öffnen in C#

In C#-Anwendungen ist die Interaktion mit Benutzern bei der Auswahl von Dateien ein grundlegendes und obligatorisches Thema. In diesem Tutorial lernen Sie die zwei verschiedenen Möglichkeiten kennen, einen Ordnerdialog in C# zu öffnen.

Beim Entwickeln von C#-Projekten in Winforms ist es wichtig, sich mit dem Ordnerbrowser und den Dialogfeldern zum Öffnen von Dateien zu befassen, um Dateien und Ordner auszuwählen.

Die Ordnerdialoge sind Teil der Windows-API und stehen C#-Entwicklern auf der Windows-Plattform zur Verfügung. Die erste Möglichkeit besteht darin, die Klasse OpenFileDialog zu verwenden, um einen Ordnerdialog zum Öffnen einer oder mehrerer Dateien anzuzeigen.

Die andere Methode besteht darin, das Steuerelement FolderBrowserDialog zu verwenden, um einen Ordnerdialog zur Auswahl von Ordnern aus demselben Verzeichnis anzuzeigen.

Verwenden Sie die Klasse FolderBrowserDialog in C#, um einen Ordnerdialog zu öffnen

Diese Klasse dient zum Öffnen eines Dialogordners zum Durchsuchen und Auswählen eines Ordners auf einem Computer. Es hat Windows Explorer-ähnliche Funktionen, um durch Ordner zu navigieren und einen Ordner auszuwählen.

Die Klasse FolderBrowserDialog hat oder braucht keine visuellen Eigenschaften wie andere. Es ist Teil des .Net-Frameworks und bietet eine Ordner-Browser-Komponente für Ihre C#-Anwendungen.

Das folgende C#-Programm in Visual Studio öffnet einen Ordnerdialog und gibt etwas aus, wenn der Benutzer einen Ordner auswählt und OK drückt. Erstellen Sie in Visual Studio eine Form1.cs [Design] und eine button1-Schaltfläche, bevor Sie den C#-Code ausführen.

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);
    }
  }
}

Während FolderBrowserDialog eine praktische Möglichkeit ist, den Ordnerdialog in C# zu öffnen, leidet es unter vielen Einschränkungen, von denen einige verhindern, dass die Komponente in Anwendungen von praktischem Nutzen ist.

Es verfügt über leistungsstarke Verhaltenssteuerungs- und Anpassungsfunktionen, die dem Windows Explorer meilenweit voraus sind.

Verwenden Sie die Klasse OpenFileDialog in C#, um einen Ordnerdialog zu öffnen

In C# ist das Steuerelement OpenFileDialog am einfachsten, um den Windows-Dialog Datei öffnen zu starten und Dateien im selben Verzeichnis auswählen zu lassen. Der Hauptzweck des Dialogfelds “Datei öffnen” besteht darin, einzelne oder mehrere Dateien für verschiedene Prozesse wie das Hoch- und Herunterladen von Dateien in C# auszuwählen.

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);
      }
    }
  }
}

Mit OpenFileDialog ist es über die Eigenschaft Filter möglich, nur Dateien mit bestimmten Endungen anzuzeigen.

openFileDialog1.Filter = "Image Files|*.GIF;*.BMP;*.JPEG;*.PNG;*.JPG|All files (*.*)|*.*";

Verwenden Sie den folgenden C#-Code, um die Klasse OpenFileDialog dazu zu bringen, einen Ordnerdialog in einem bestimmten Ordner zu starten.

openFileDialog1.InitialDirectory = "c:\\temp";

Beide Methoden zum Öffnen des Ordnerdialogs in C# sind einfach und unterstützen eine umfangreiche Bibliothek von Funktionen und anderen Elementen, um den Dialog zum Öffnen von Ordnern an Ihre Bedürfnisse anzupassen. Darüber hinaus ermöglichen Ihnen beide Methoden, die Elemente des Dialogfelds Ordner öffnen und ihre Eigenschaften vollständig anzupassen.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

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