Sådan bruges OpenFileDialog i C# GUI-applikationer

Sadan Bruges Openfiledialog I C Gui Applikationer



At bygge grafiske applikationer med C# og Windows Forms-rammen er en af ​​de bedste måder at udvide dine C#-færdigheder på. Som alle andre programmeringsformater vil du i sidste ende finde på at bygge et program, der fungerer med filer.

I denne vejledning viser vi dig det grundlæggende i at arbejde med Windows grafisk applikation ved at lære, hvordan du bygger en app, der kan læse filerne med et klik på en knap.







Vi vil hovedsageligt fokusere på OpenFileDialog, som giver os mulighed for at gennemse og vælge filerne fra et filsystem. Det er en del af System.Windows.Forms-navneområdet. Derfor skal du have WFP-værktøjerne installeret.



Oprettelse af et projekt

Før vi kan bruge OpenFileDialog-komponenten, skal vi oprette et projekt, der understøtter Windows Forms. Du kan følge trinene som beskrevet i det følgende ved at bruge Visual Studio 2022 og nyere.



Start Visual Studio 2022, og vælg muligheden 'Opret et nyt projekt'.






I næste trin skal du vælge en projektskabelon, som du ønsker at bruge. I vores tilfælde ønsker vi at oprette en Windows Forms-app. Vælg denne skabelon.


I det næste trin skal du vælge din NET-version og angive et navn til dit projekt.



Tilføjelse af en knap

Når du har oprettet projektet, vil Visual Studio tage dig til en træk og slip-editor, hvor du kan trække de komponenter, du har brug for.

For vores tilfælde er den første ting, vi har brug for, en knap, der udløser OpenFileDialog. Fra værktøjskassemenuen skal du trække og slippe knappen til lærredet.


Skift tekstegenskaben for knappen til 'Åbn fil'.

Knap Klik på Event Handler

I dette øjeblik gør knappen intet ved et klik. For at sikre, at knappen åbner OpenFileDialog, skal vi tilføje en hændelseshandler.

Dobbeltklik på knappen eller tryk på F7 for at åbne kodeeditoren.


I knaphændelseshåndteringen skal du tilføje følgende kode for at initialisere og åbne OpenFileDialog:

privat ugyldig knap1_Klik ( objekt afsender, EventArgs e )
{
ved brug af ( OpenFileDialog openFileDialog = ny OpenFileDialog ( ) )
{
hvis ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Valgt fil:' + valgt fil ) ;
}
}
}


I det givne eksempel starter vi med at oprette en instans af OpenFileDialog-klassen. Vi bruger også 'bruger'-erklæringen til at sikre, at den bortskaffes korrekt, når operationen er udført, for at undgå ressourcespild.

Vi tjekker derefter, om brugeren har bekræftet filvalget ved at klikke på knappen 'OK'.

Til sidst henter vi den fulde sti til den valgte sti og viser den inde i en MessageBox-komponent.

Prøv at køre koden og se hvad den gør. I vores tilfælde giver koden os mulighed for at åbne filvælgeren baseret på et knapklik og vise stien til den valgte fil som følger:

Valg af specifikke filtyper

Afhængigt af dit programbrug vil du måske kun læse bestemte filer. Det er her filfiltreringen kommer i spil. Antag, at vi kun ønsker at vælge billedfilerne. Vi kan implementere en filfilterfunktionalitet for billedfiler ved at indstille egenskaben 'Filter' i OpenFileDialog.

Tag et kig på følgende kode:

privat ugyldig knap1_Klik ( objekt afsender, EventArgs e )
{
ved brug af ( OpenFileDialog openFileDialog = ny OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Billeder|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
hvis ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Valgt fil:' + valgt fil ) ;
}
}
}


Når vi har kørt koden og klikket på knappen, bør vi se de filtyper, vi har lov til at vælge som vist i følgende eksempel:

Visning af filindhold

For at tilføje mere funktionalitet til vores app, kan vi vise indholdet af filen ved hjælp af en MessageBox som følger:

privat ugyldig knap1_Klik ( objekt afsender, EventArgs e )
{
ved brug af ( OpenFileDialog openFileDialog = ny OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Tekstfiler|*.txt' ;
hvis ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
string content = File.ReadAllText ( valgt fil ) ;
MessageBox.Show ( 'Filindhold: ' + indhold ) ;
}
}
}


I dette tilfælde filtrerer vi efter tekstfiler, da de er nemme at læse. Når vi har valgt filen, bruger vi File.ReadAllText() og gemmer indholdet af filen til en variabel.

Vi viser derefter filindholdet ved hjælp af MessageBox som vist i den resulterende filfunktionalitet:

Valg af flere filer

Du kan også aktivere OpenFileDialog til at læse flere filer ved hjælp af egenskaben 'MultiSelect'. Dette er nyttigt, når du skal vælge flere filer, såsom kopiering, flytning osv.

Funktionen er som følger:

privat ugyldig knap1_Klik ( objektsender, EventArgs e )
{
ved brug af ( OpenFileDialog openFileDialog = ny OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Tekstfiler|*.txt' ;
openFileDialog.Multiselect = rigtigt ;
hvis ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
for hver ( var fil i openFileDialog.FileNames )
{
MessageBox.Show ( 'Valgte filer:' + fil ) ;
}
}
}
}


I dette eksempel bruger vi egenskaben 'MultiSelect', som giver os mulighed for at vælge flere tekstfiler.

Vi itererer derefter over hver valgt fil og viser dens sti i en MessageBox.


Der har du det!

Konklusion

I denne fantastiske tutorial lærte du, hvordan du bygger en grundlæggende GUI-applikation i C#, der kan læse filen og vise indholdet ved hjælp af OpenFileDialog. Du lærte også om funktionerne såsom filtrering for specifikke filer, valg af flere filer osv.