Com utilitzar l'OpenFileDialog a les aplicacions GUI de C#

Com Utilitzar L Openfiledialog A Les Aplicacions Gui De C



La creació d'aplicacions gràfiques amb C# i el marc de Windows Forms és una de les millors maneres d'ampliar les vostres habilitats en C#. Com tots els altres formats de programació, finalment us trobareu construint una aplicació que funcioni amb fitxers.

En aquest tutorial, us mostrarem els conceptes bàsics de treballar amb l'aplicació gràfica de Windows aprenent a crear una aplicació que pugui llegir els fitxers fent clic en un botó.







Ens centrarem principalment en l'OpenFileDialog que ens permet navegar i seleccionar els fitxers d'un sistema de fitxers. Forma part de l'espai de noms System.Windows.Forms. Per tant, se us demanarà que tingueu instal·lades les eines del PMA.



Creació d'un projecte

Abans de poder utilitzar el component OpenFileDialog, hem de crear un projecte que admeti els Windows Forms. Podeu seguir els passos que s'indiquen a continuació amb Visual Studio 2022 i versions posteriors.



Inicieu Visual Studio 2022 i seleccioneu l'opció 'Crea un projecte nou'.






En el següent pas, trieu una plantilla de projecte que voleu utilitzar. En el nostre cas, volem crear una aplicació de Windows Forms. Seleccioneu aquesta plantilla.


En el següent pas, seleccioneu la vostra versió de NET i proporcioneu un nom per al vostre projecte.



Afegint un botó

Un cop hàgiu creat el projecte, Visual Studio us portarà a un editor d'arrossegar i deixar anar on podeu arrossegar els components que necessiteu.

Per al nostre cas, el primer que necessitem és un botó que activi l'OpenFileDialog. Des del menú de la caixa d'eines, arrossegueu i deixeu anar el botó al llenç.


Canvieu la propietat de text del botó a 'Obrir fitxer'.

Botó Feu clic a Gestor d'esdeveniments

En aquest moment, el botó no fa res amb un clic. Per assegurar-nos que el botó obri l'OpenFileDialog, hem d'afegir un controlador d'esdeveniments.

Feu doble clic al botó o premeu F7 per obrir l'editor de codi.


Al controlador d'esdeveniments del botó, afegiu el codi següent per inicialitzar i obrir l'OpenFileDialog:

botó de buit privat1_Clic ( remitent d'objectes, EventArgs e )
{
utilitzant ( OpenFileDialog openFileDialog = nou OpenFileDialog ( ) )
{
si ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Fitxer seleccionat:' + Fitxer seleccionat ) ;
}
}
}


En l'exemple donat, comencem creant una instància de la classe OpenFileDialog. També fem servir la declaració 'using' per assegurar-nos que s'elimina correctament un cop realitzada l'operació per evitar el malbaratament de recursos.

A continuació, comprovem si l'usuari ha confirmat la selecció del fitxer fent clic al botó 'D'acord'.

Finalment, obtenim el camí complet del camí seleccionat i el mostrem dins d'un component MessageBox.

Proveu d'executar el codi i vegeu què fa. En el nostre cas, el codi ens permet obrir el selector de fitxers basat en un clic de botó i mostrar el camí al fitxer seleccionat de la següent manera:

Selecció de tipus de fitxers específics

Depenent de l'ús de l'aplicació, és possible que només vulgueu llegir fitxers específics. Aquí és on entra en joc el filtratge de fitxers. Suposem que només volem seleccionar els fitxers d'imatge. Podem implementar una funcionalitat de filtre de fitxers per a fitxers d'imatge establint la propietat 'Filtre' de l'OpenFileDialog.

Fes una ullada al codi següent:

botó de buit privat1_Clic ( remitent d'objectes, EventArgs e )
{
utilitzant ( OpenFileDialog openFileDialog = nou OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Imatges|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
si ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Fitxer seleccionat:' + Fitxer seleccionat ) ;
}
}
}


Un cop executem el codi i premem el botó, hauríem de veure els tipus de fitxers que podem seleccionar, tal com es mostra a l'exemple següent:

Visualització del contingut del fitxer

Per afegir més funcionalitat a la nostra aplicació, podem mostrar el contingut del fitxer mitjançant un MessageBox de la següent manera:

botó de buit privat1_Clic ( remitent d'objectes, EventArgs e )
{
utilitzant ( OpenFileDialog openFileDialog = nou OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Fitxers de text|*.txt' ;
si ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
contingut de cadena = File.ReadAllText ( fitxer seleccionat ) ;
MessageBox.Show ( 'Contingut del fitxer:' + contingut ) ;
}
}
}


En aquest cas, estem filtrant fitxers de text ja que són fàcils de llegir. En seleccionar el fitxer, utilitzem File.ReadAllText() i desem el contingut del fitxer en una variable.

A continuació, mostrem el contingut del fitxer mitjançant el MessageBox tal com es mostra a la funcionalitat del fitxer resultant:

Selecció de diversos fitxers

També podeu habilitar l'OpenFileDialog per llegir diversos fitxers mitjançant la propietat 'MultiSelect'. Això és útil quan necessiteu seleccionar diversos fitxers com ara copiar, moure, etc.

La funció és la següent:

botó de buit privat1_Clic ( remitent d'objectes, EventArgs e )
{
utilitzant ( OpenFileDialog openFileDialog = nou OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Fitxers de text|*.txt' ;
openFileDialog.Multiselect = veritat ;
si ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
per cadascú ( era dossier en openFileDialog.FileNames )
{
MessageBox.Show ( 'Fitxers seleccionats:' + dossier ) ;
}
}
}
}


En aquest exemple, utilitzem la propietat 'MultiSelect' que ens permet seleccionar diversos fitxers de text.

A continuació, iterem sobre cada fitxer seleccionat i mostrem el seu camí en un MessageBox.


Aquí ho tens!

Conclusió

En aquest fantàstic tutorial, heu après a crear una aplicació GUI bàsica en C# que pugui llegir el fitxer i mostrar-ne el contingut mitjançant l'OpenFileDialog. També heu après característiques com ara filtrar fitxers específics, seleccionar diversos fitxers, etc.