Cómo utilizar OpenFileDialog en aplicaciones GUI de C#

Como Utilizar Openfiledialog En Aplicaciones Gui De C



Crear aplicaciones gráficas con C# y el marco de Windows Forms es una de las mejores formas de ampliar sus habilidades en C#. Como todos los demás formatos de programación, eventualmente te encontrarás creando una aplicación que funcione con archivos.

En este tutorial, le mostraremos los conceptos básicos para trabajar con la aplicación gráfica de Windows aprendiendo cómo crear una aplicación que pueda leer los archivos con solo hacer clic en un botón.







Nos centraremos principalmente en OpenFileDialog, que nos permite buscar y seleccionar archivos de un sistema de archivos. Es parte del espacio de nombres System.Windows.Forms. Por lo tanto, se le pedirá que tenga instaladas las herramientas del PMA.



Creando un proyecto

Antes de poder utilizar el componente OpenFileDialog, necesitamos crear un proyecto que admita Windows Forms. Puede seguir los pasos que se describen a continuación utilizando Visual Studio 2022 y versiones posteriores.



Inicie Visual Studio 2022 y seleccione la opción 'Crear un nuevo proyecto'.






En el siguiente paso, elija la plantilla de proyecto que desee utilizar. En nuestro caso, deseamos crear una aplicación de Windows Forms. Seleccione esta plantilla.


En el siguiente paso, seleccione su versión NET y proporcione un nombre para su proyecto.



Agregar un botón

Una vez que cree el proyecto, Visual Studio lo llevará a un editor de arrastrar y soltar donde podrá arrastrar los componentes que necesita.

Para nuestro caso, lo primero que necesitamos es un botón que active OpenFileDialog. Desde el menú de la caja de herramientas, arrastre y suelte el botón en el lienzo.


Cambie la propiedad de texto del botón a 'Abrir archivo'.

Controlador de eventos de clic de botón

En este momento, el botón no hace nada al hacer clic. Para asegurarnos de que el botón abra OpenFileDialog, debemos agregar un controlador de eventos.

Haga doble clic en el botón o presione F7 para abrir el editor de código.


En el controlador de eventos del botón, agregue el siguiente código para inicializar y abrir OpenFileDialog:

botón de anulación privada1_Click ( remitente del objeto, EventArgs e )
{
usando ( OpenFileDialog openFileDialog = nuevo OpenFileDialog ( ) )
    {
        si ( openFileDialog.ShowDialog ( ) == Resultado del diálogo.OK )
        {
cadena archivo seleccionado = openFileDialog.FileName;
            MessageBox.Show ( 'Archivo seleccionado: ' + archivo seleccionado ) ;
        }
    }
}

 
En el ejemplo dado, comenzamos creando una instancia de la clase OpenFileDialog. También utilizamos la declaración 'usar' para garantizar que se elimine correctamente una vez finalizada la operación para evitar el desperdicio de recursos.

Luego verificamos si el usuario ha confirmado la selección del archivo haciendo clic en el botón 'Aceptar'.

Finalmente, buscamos la ruta completa de la ruta seleccionada y la mostramos dentro de un componente MessageBox.

Intente ejecutar el código y vea qué hace. En nuestro caso, el código nos permite abrir el selector de archivos con solo hacer clic en un botón y mostrar la ruta al archivo seleccionado de la siguiente manera:

Seleccionar tipos de archivos específicos

Dependiendo del uso de su aplicación, es posible que solo desee leer archivos específicos. Aquí es donde entra en juego el filtrado de archivos. Supongamos que solo queremos seleccionar los archivos de imagen. Podemos implementar una funcionalidad de filtro de archivos para archivos de imagen configurando la propiedad 'Filtro' de OpenFileDialog.

Eche un vistazo al siguiente código:

botón de anulación privada1_Click ( remitente del objeto, EventArgs e )
        {
usando ( OpenFileDialog openFileDialog = nuevo OpenFileDialog ( ) )
            {
openFileDialog.Filter = 'Imágenes|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
                si ( openFileDialog.ShowDialog ( ) == Resultado del diálogo.OK )
                {
cadena archivo seleccionado = openFileDialog.FileName;
                    MessageBox.Show ( 'Archivo seleccionado: ' + archivo seleccionado ) ;
                }
            }
        }

 
Una vez que ejecutamos el código y hacemos clic en el botón, deberíamos ver los tipos de archivos que podemos seleccionar como se muestra en el siguiente ejemplo:

Visualización del contenido del archivo

Para agregar más funcionalidad a nuestra aplicación, podemos mostrar el contenido del archivo usando un cuadro de mensaje de la siguiente manera:

botón de anulación privada1_Click ( remitente del objeto, EventArgs e )
        {
usando ( OpenFileDialog openFileDialog = nuevo OpenFileDialog ( ) )
            {
openFileDialog.Filter = 'Archivos de texto|*.txt' ;
                si ( openFileDialog.ShowDialog ( ) == Resultado del diálogo.OK )
                {
cadena archivo seleccionado = openFileDialog.FileName;
contenido de cadena = File.ReadAllText ( archivo seleccionado ) ;
                    MessageBox.Show ( 'Contenido del archivo:' + contenido ) ;
                }
            }
        }

 
En este caso, estamos filtrando por archivos de texto ya que son fáciles de leer. Al seleccionar el archivo, usamos File.ReadAllText() y guardamos el contenido del archivo en una variable.

Luego mostramos el contenido del archivo usando el cuadro de mensaje como se muestra en la funcionalidad del archivo resultante:

Seleccionar varios archivos

También puede habilitar OpenFileDialog para leer varios archivos utilizando la propiedad 'MultiSelect'. Esto es útil cuando necesita seleccionar varios archivos, como copiarlos, moverlos, etc.

La función es la siguiente:

botón de anulación privada1_Clic ( remitente del objeto, EventArgs e )
{
usando ( OpenFileDialog openFileDialog = nuevo OpenFileDialog ( ) )
            {
openFileDialog.Filter = 'Archivos de texto|*.txt' ;
openFileDialog.Multiselect = verdadero ;
                si ( openFileDialog.ShowDialog ( ) == Resultado del diálogo.OK )
                {
para cada ( era archivo en openFileDialog.Nombresdearchivo )
                    {
                        MessageBox.Show ( 'Archivos seleccionados: ' + archivo ) ;
                    }
                }
            }
        }

 
En este ejemplo, utilizamos la propiedad 'MultiSelect' que nos permite seleccionar varios archivos de texto.

Luego iteramos sobre cada archivo seleccionado y mostramos su ruta en un cuadro de mensaje.


¡Ahí tienes!

Conclusión

En este increíble tutorial, aprendió cómo crear una aplicación GUI básica en C# que puede leer el archivo y mostrar el contenido usando OpenFileDialog. También aprendió sobre funciones como filtrar archivos específicos, seleccionar varios archivos, etc.