Diálogo Abrir Carpeta en C#
-
Utilice la clase
FolderBrowserDialog
en C# para abrir un cuadro de diálogo de carpeta -
Utilice la clase
OpenFileDialog
en C# para abrir un cuadro de diálogo de carpeta
En las aplicaciones C#, la interacción con los usuarios en la selección de archivos es un tema fundamental y obligatorio. En este tutorial, aprenderá las dos formas diferentes de abrir un cuadro de diálogo de carpeta en C#.
Es importante utilizar el Explorador de carpetas y los Diálogos de apertura de archivos para seleccionar archivos y carpetas al desarrollar proyectos de C# en Winforms.
Los cuadros de diálogo de la carpeta son parte de la API de Windows y son accesibles para los desarrolladores de C# en la plataforma de Windows. La primera forma es usar la clase OpenFileDialog
para mostrar un diálogo de carpeta para abrir uno o varios archivos.
El otro método es usar el control FolderBrowserDialog
para mostrar un cuadro de diálogo de carpeta para seleccionar carpetas del mismo directorio.
Utilice la clase FolderBrowserDialog
en C# para abrir un cuadro de diálogo de carpeta
Esta clase sirve para abrir una carpeta de diálogo para navegar y seleccionar una carpeta en una computadora. Tiene características similares a Windows Explorer para navegar a través de carpetas y seleccionar una carpeta.
La clase FolderBrowserDialog
no tiene ni necesita propiedades visuales como otras. Es parte del marco .Net
y proporciona un componente de navegador de carpetas para sus aplicaciones C#.
El siguiente programa C# en Visual Studio abrirá un cuadro de diálogo de carpeta y generará algo cuando el usuario seleccione una carpeta y presione OK
. Cree un Form1.cs [Diseño]
en Visual Studio y un botón button1
antes de ejecutar el código 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);
}
}
}
Si bien FolderBrowserDialog
es una forma práctica de abrir un cuadro de diálogo de carpeta en C#, tiene muchas limitaciones, algunas de las cuales impiden que el componente sea de uso práctico en las aplicaciones.
Cuenta con una poderosa funcionalidad de control de comportamiento y personalización millas por delante del Explorador de Windows.
Utilice la clase OpenFileDialog
en C# para abrir un cuadro de diálogo de carpeta
En C#, el control OpenFileDialog
es el más fácil para iniciar el cuadro de diálogo Abrir archivo de Windows y permitirles seleccionar archivos en el mismo directorio. El propósito principal del cuadro de diálogo Abrir archivo es seleccionar uno o varios archivos para diferentes procesos, como cargar y descargar archivos 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);
}
}
}
}
Con OpenFileDialog
, es posible mostrar solo archivos con extensiones específicas utilizando su propiedad Filter
.
openFileDialog1.Filter = "Image Files|*.GIF;*.BMP;*.JPEG;*.PNG;*.JPG|All files (*.*)|*.*";
Utilice el siguiente código C# para hacer que la clase OpenFileDialog
inicie un cuadro de diálogo de carpeta en una carpeta específica.
openFileDialog1.InitialDirectory = "c:\\temp";
Ambos métodos para abrir el cuadro de diálogo de carpeta en C# son simples y admiten una amplia biblioteca de funciones y otros elementos para personalizar el cuadro de diálogo de carpeta abierta según sus necesidades. Además, ambos métodos le permiten personalizar completamente los elementos del cuadro de diálogo Abrir carpeta y sus propiedades.
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