Auf Englisch lesen

Freigeben über


FolderBrowserDialog Klasse

Definition

Fordert den Benutzer auf, einen Ordner auszuwählen. Diese Klasse kann nicht vererbt werden.

C#
public sealed class FolderBrowserDialog : System.Windows.Forms.CommonDialog
Vererbung

Beispiele

Im folgenden Codebeispiel wird eine Anwendung erstellt, die es dem Benutzer ermöglicht, Rich-Text-Dateien (.rtf) innerhalb des Steuerelements RichTextBox zu öffnen.

C#
// The following example displays an application that provides the ability to 
// open rich text files (rtf) into the RichTextBox. The example demonstrates 
// using the FolderBrowserDialog to set the default directory for opening files.
// The OpenFileDialog class is used to open the file.
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;

public class FolderBrowserDialogExampleForm : System.Windows.Forms.Form
{
    private FolderBrowserDialog folderBrowserDialog1;
    private OpenFileDialog openFileDialog1;

    private RichTextBox richTextBox1;

    private MenuStrip mainMenu1;
    private ToolStripMenuItem fileMenuItem, openMenuItem;
    private ToolStripMenuItem folderMenuItem, closeMenuItem;

    private string openFileName, folderName;

    private bool fileOpened = false;

    // The main entry point for the application.
    [STAThreadAttribute]
    static void Main()
    {
        Application.Run(new FolderBrowserDialogExampleForm());
    }

    // Constructor.
    public FolderBrowserDialogExampleForm()
    {
        this.mainMenu1 = new MenuStrip();

        this.fileMenuItem = new ToolStripMenuItem();
        this.openMenuItem = new ToolStripMenuItem();
        this.folderMenuItem = new ToolStripMenuItem();
        this.closeMenuItem = new ToolStripMenuItem();

        this.openFileDialog1 = new OpenFileDialog();
        this.folderBrowserDialog1 = new FolderBrowserDialog();
        this.richTextBox1 = new RichTextBox();

        this.mainMenu1.Items.Add(this.fileMenuItem);

        this.fileMenuItem.Text = "File";
        this.fileMenuItem.DropDownItems.AddRange(
            new ToolStripItem[] {
                this.openMenuItem,
                this.closeMenuItem,
                this.folderMenuItem
            }
        );

        this.openMenuItem.Text = "Open...";
        this.openMenuItem.Click += new EventHandler(this.openMenuItem_Click);

        this.folderMenuItem.Text = "Select Directory...";
        this.folderMenuItem.Click += new EventHandler(this.folderMenuItem_Click);

        this.closeMenuItem.Text = "Close";
        this.closeMenuItem.Click += new EventHandler(this.closeMenuItem_Click);
        this.closeMenuItem.Enabled = false;

        this.openFileDialog1.DefaultExt = "rtf";
        this.openFileDialog1.Filter = "rtf files (*.rtf)|*.rtf";

        // Set the help text description for the FolderBrowserDialog.
        this.folderBrowserDialog1.Description =
            "Select the directory that you want to use as the default.";

        // Do not allow the user to create new files via the FolderBrowserDialog.
        this.folderBrowserDialog1.ShowNewFolderButton = false;

        // Default to the My Documents folder.
        this.folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;

        this.richTextBox1.AcceptsTab = true;
        this.richTextBox1.Location = new System.Drawing.Point(8, 40);
        this.richTextBox1.Size = new System.Drawing.Size(280, 312);
        this.richTextBox1.Anchor = (
            AnchorStyles.Top |
            AnchorStyles.Left |
            AnchorStyles.Bottom |
            AnchorStyles.Right
        );

        this.ClientSize = new System.Drawing.Size(296, 360);
        this.Controls.Add(this.mainMenu1);
        this.Controls.Add(this.richTextBox1);
        this.MainMenuStrip = this.mainMenu1;
        this.Text = "RTF Document Browser";
    }

    // Bring up a dialog to open a file.
    private void openMenuItem_Click(object sender, EventArgs e)
    {
        // If a file is not opened, then set the initial directory to the
        // FolderBrowserDialog.SelectedPath value.
        if (!fileOpened) {
            openFileDialog1.InitialDirectory = folderBrowserDialog1.SelectedPath;
            openFileDialog1.FileName = null;
        }

        // Display the openFile dialog.
        DialogResult result = openFileDialog1.ShowDialog();

        // OK button was pressed.
        if (result == DialogResult.OK)
        {
            openFileName = openFileDialog1.FileName;
            try
            {
                // Output the requested file in richTextBox1.
                Stream s = openFileDialog1.OpenFile();
                richTextBox1.LoadFile(s, RichTextBoxStreamType.RichText);
                s.Close();

                fileOpened = true;
            }
            catch (Exception exp)
            {
                MessageBox.Show("An error occurred while attempting to load the file. The error is:"
                                + System.Environment.NewLine + exp.ToString() + System.Environment.NewLine);
                fileOpened = false;
            }
            Invalidate();

            closeMenuItem.Enabled = fileOpened;
        }

        // Cancel button was pressed.
        else if (result == DialogResult.Cancel)
        {
            return;
        }
    }

    // Close the current file.
    private void closeMenuItem_Click(object sender, EventArgs e)
    {
        richTextBox1.Text = "";
        fileOpened = false;

        closeMenuItem.Enabled = false;
    }

    // Bring up a dialog to choose a folder path in which to open or save a file.
    private void folderMenuItem_Click(object sender, EventArgs e)
    {
        // Show the FolderBrowserDialog.
        DialogResult result = folderBrowserDialog1.ShowDialog();
        if (result == DialogResult.OK)
        {
            folderName = folderBrowserDialog1.SelectedPath;
            if (!fileOpened)
            {
                // No file is opened, bring up openFileDialog in selected path.
                openFileDialog1.InitialDirectory = folderName;
                openFileDialog1.FileName = null;
                openMenuItem.PerformClick();
            }
        }
    }
}

Hinweise

Diese Klasse bietet eine Möglichkeit, den Benutzer aufzufordern, einen Ordner zu durchsuchen, zu erstellen und schließlich auszuwählen. Verwenden Sie diese Klasse, wenn Sie dem Benutzer nur erlauben möchten, Ordner und nicht Dateien auszuwählen. Das Durchsuchen der Ordner erfolgt über ein Struktursteuerelement. In .NET Core 3.1 und höheren Versionen verwendet diese Klasse das modernisierte Dateisystembrowserfenster. Es können nur Ordner aus dem Dateisystem ausgewählt werden. Virtuelle Ordner können dies nicht.

In der Regel legen Sie nach dem Erstellen eines neuen FolderBrowserDialogdie auf den RootFolder Speicherort fest, von dem aus mit dem Durchsuchen begonnen werden soll. Optional können Sie den SelectedPath auf einen absoluten Pfad eines Unterordners festlegen, der RootFolder zunächst ausgewählt wird. Sie können die Description Eigenschaft auch optional festlegen, um dem Benutzer zusätzliche Anweisungen zu geben. Rufen Sie schließlich die ShowDialog -Methode auf, um dem Benutzer das Dialogfeld anzuzeigen. Wenn das Dialogfeld geschlossen ist und sich das Dialogfeld aus ShowDialog ergibt, ist DialogResult.OKdie SelectedPath eine Zeichenfolge, die den Pfad zum ausgewählten Ordner enthält.

Sie können die ShowNewFolderButton -Eigenschaft verwenden, um zu steuern, ob der Benutzer neue Ordner mit der Schaltfläche Neuer Ordner erstellen kann.

FolderBrowserDialog ist ein modales Dialogfeld; Daher blockiert sie, wenn sie angezeigt wird, den Rest der Anwendung, bis der Benutzer einen Ordner ausgewählt hat. Wenn ein Dialogfeld modal angezeigt wird, können keine Eingaben (Tastatur oder Mausklick) mit Ausnahme von Objekten im Dialogfeld erfolgen. Das Programm muss das Dialogfeld ausblenden oder schließen (normalerweise als Reaktion auf eine Benutzeraktion), bevor eine Eingabe an das aufrufende Programm erfolgen kann.

Konstruktoren

FolderBrowserDialog()

Initialisiert eine neue Instanz der FolderBrowserDialog-Klasse.

Eigenschaften

AddToRecent

Ruft einen Wert ab, der angibt, ob das Dialogfeld den ausgewählten Ordner der zuletzt verwendeten Liste hinzufügt, oder legt diesen fest.

AutoUpgradeEnabled

Ruft einen Wert ab, der angibt, ob das Dialogfeld automatisch aktualisiert wird, um neue Funktionen zu aktivieren, oder legt diesen Wert fest.

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
ClientGuid

Ruft die GUID ab, die diesem Dialogfeldzustand zugeordnet werden soll, oder legt sie fest. In der Regel wird der Zustand, z. B. der zuletzt besuchte Ordner und die Position und Größe des Dialogfelds, basierend auf dem Namen der ausführbaren Datei beibehalten. Durch Angeben einer GUID kann eine Anwendung unterschiedliche beibehaltene Zustände für verschiedene Versionen des Dialogfelds innerhalb derselben Anwendung aufweisen (z. B. ein Dialogfeld zum Importieren und ein Dialogfeld zum Öffnen).

Diese Funktion ist nicht verfügbar, wenn eine Anwendung keine visuellen Stile verwendet oder wenn AutoUpgradeEnabled auf false festgelegt ist.

Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
Description

Ruft den beschreibenden Text ab, der über dem Dialogfeld angezeigt wird, oder legt diese fest.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
InitialDirectory

Ruft das anfängliche Verzeichnis ab, das vom Dialogfeld "Ordnerbrowser" angezeigt wird, oder legt es fest.

Multiselect

Ruft einen Wert ab, der angibt, ob im Dialogfeld mehrere Ordner ausgewählt werden können, oder legt diesen fest.

OkRequiresInteraction

Ruft einen Wert ab, der angibt, ob die OK-Schaltfläche des Dialogfelds deaktiviert ist, bis der Benutzer in der Ansicht navigiert oder den Dateinamen bearbeitet (falls zutreffend).

RootFolder

Ruft den Stammordner ab, von dem aus eine Suche gestartet wird, oder legt diesen fest.

SelectedPath

Ruft den von den Benutzern ausgewählten Pfad ab oder legt diesen fest.

SelectedPaths

Ruft die Pfade aller ausgewählten Ordner im Dialogfeld ab.

ShowHiddenFiles

Ruft einen Wert ab, der angibt, ob im Dialogfeld ausgeblendete Dateien und Systemdateien angezeigt werden, oder legt diese fest.

ShowNewFolderButton

Ruft einen Wert ab, der angibt, ob im Dialogfeld für die Ordnersuche die Schaltfläche Neuer Ordner angezeigt wird, oder legt diesen Wert fest.

ShowPinnedPlaces

Ruft einen Wert ab, der angibt, ob die standardmäßig im Navigationsbereich der Ansicht angezeigten Elemente angezeigt werden, oder legt den Wert fest.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
Tag

Ruft ein Objekt ab, das Daten bezüglich des Steuerelements enthält, oder legt dieses Objekt fest.

(Geerbt von CommonDialog)
UseDescriptionForTitle

Ruft einen Wert ab, der angibt, ob der Wert der Description-Eigenschaft als Dialogfeldtitel für Dialogfelder im Vista-Stil verwendet werden soll, oder legt diesen Wert fest. Diese Eigenschaft wirkt sich nicht auf Dialogfelder im alten Stil aus.

Methoden

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Definiert die Hookprozedur für Standarddialogfelder, die überschrieben wird, um einem Standarddialogfeld spezifische Funktionen hinzuzufügen.

(Geerbt von CommonDialog)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
OnHelpRequest(EventArgs)

Löst das HelpRequest-Ereignis aus.

(Geerbt von CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Definiert die Prozedur des Besitzerfensters, die überschrieben wird, um einem Standarddialogfeld spezifische Funktionen hinzuzufügen.

(Geerbt von CommonDialog)
Reset()

Setzt Eigenschaften auf die Standardwerte zurück.

RunDialog(IntPtr)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird hierdurch ein Standarddialogfeld angegeben.

(Geerbt von CommonDialog)
ShowDialog()

Führt ein Standarddialogfeld mit einem Standardbesitzer aus.

(Geerbt von CommonDialog)
ShowDialog(IWin32Window)

Führt ein Standarddialogfeld mit dem angegebenen Besitzer aus.

(Geerbt von CommonDialog)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)
HelpRequest

Tritt ein, wenn der Benutzer im Dialogfeld auf die Schaltfläche Hilfe klickt.

Gilt für:

Produkt Versionen
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen