Kako koristiti OpenFileDialog u C# GUI aplikacijama

Kako Koristiti Openfiledialog U C Gui Aplikacijama



Izrada grafičkih aplikacija s C# i okvirom Windows Forms jedan je od najboljih načina da proširite svoje C# vještine. Kao i kod svih drugih programskih formata, na kraju ćete se naći u izgradnji aplikacije koja radi s datotekama.

U ovom vodiču pokazat ćemo vam osnove rada s Windows grafičkom aplikacijom tako što ćemo naučiti kako izraditi aplikaciju koja može čitati datoteke jednim pritiskom na gumb.







Uglavnom ćemo se usredotočiti na OpenFileDialog koji nam omogućuje pregledavanje i odabir datoteka iz datotečnog sustava. Dio je imenskog prostora System.Windows.Forms. Stoga ćete morati imati instalirane WFP alate.



Izrada projekta

Prije nego što možemo koristiti komponentu OpenFileDialog, moramo stvoriti projekt koji podržava Windows Forms. Možete slijediti korake navedene u nastavku koristeći Visual Studio 2022 i novije verzije.



Pokrenite Visual Studio 2022 i odaberite opciju 'Stvori novi projekt'.






U sljedećem koraku odaberite predložak projekta koji želite koristiti. U našem slučaju, želimo stvoriti Windows Forms aplikaciju. Odaberite ovaj predložak.


U sljedećem koraku odaberite svoju NET verziju i unesite naziv za svoj projekt.



Dodavanje gumba

Nakon što izradite projekt, Visual Studio će vas odvesti do drag and drop editora gdje možete povući komponente koje su vam potrebne.

Za naš slučaj, prva stvar koja nam treba je gumb koji pokreće OpenFileDialog. Iz izbornika okvira s alatima povucite i ispustite gumb na platno.


Promijenite svojstvo teksta gumba u 'Otvori datoteku'.

Gumb Kliknite Rukovatelj događajima

U ovom trenutku gumb ne radi ništa nakon klika. Kako bismo osigurali da gumb otvara OpenFileDialog, moramo dodati rukovatelj događajima.

Dvaput kliknite na gumb ili pritisnite F7 za otvaranje uređivača koda.


U rukovatelju događajima gumba dodajte sljedeći kod za pokretanje i otvaranje OpenFileDialog-a:

privatni void button1_Click ( pošiljatelj objekta, EventArgs e )
{
korištenjem ( OpenFileDialog openFileDialog = novi OpenFileDialog ( ) )
{
ako ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Odabrana datoteka: ' + odabrana datoteka ) ;
}
}
}


U navedenom primjeru počinjemo stvaranjem instance klase OpenFileDialog. Također koristimo izjavu 'upotreba' kako bismo osigurali da je pravilno zbrinut nakon završetka operacije kako bismo izbjegli rasipanje resursa.

Zatim provjeravamo je li korisnik potvrdio odabir datoteke klikom na gumb 'OK'.

Na kraju, dohvaćamo punu stazu odabrane staze i prikazujemo je unutar komponente MessageBox.

Pokušajte pokrenuti kod i vidjeti što radi. U našem slučaju, kod nam omogućuje da otvorimo birač datoteka na temelju klika na gumb i prikažemo putanju do odabrane datoteke na sljedeći način:

Odabir određenih vrsta datoteka

Ovisno o korištenju vaše aplikacije, možda ćete htjeti čitati samo određene datoteke. Ovdje dolazi do izražaja filtriranje datoteka. Pretpostavimo da samo želimo odabrati slikovne datoteke. Možemo implementirati funkciju filtera datoteka za slikovne datoteke postavljanjem svojstva 'Filter' OpenFileDialog-a.

Pogledajte sljedeći kod:

privatni void button1_Click ( pošiljatelj objekta, EventArgs e )
{
korištenjem ( OpenFileDialog openFileDialog = novi OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Slike|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
ako ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Odabrana datoteka: ' + odabrana datoteka ) ;
}
}
}


Nakon što pokrenemo kod i kliknemo gumb, trebali bismo vidjeti vrste datoteka koje smijemo odabrati kao što je prikazano u sljedećem primjeru:

Prikaz sadržaja datoteke

Kako bismo dodali više funkcionalnosti našoj aplikaciji, možemo prikazati sadržaj datoteke koristeći MessageBox na sljedeći način:

privatni void button1_Click ( pošiljatelj objekta, EventArgs e )
{
korištenjem ( OpenFileDialog openFileDialog = novi OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Tekstualne datoteke|*.txt' ;
ako ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
sadržaj niza = File.ReadAllText ( odabrana datoteka ) ;
MessageBox.Show ( 'Sadržaj datoteke: ' + sadržaj ) ;
}
}
}


U ovom slučaju filtriramo tekstualne datoteke jer su jednostavne za čitanje. Nakon odabira datoteke koristimo File.ReadAllText() i spremamo sadržaj datoteke u varijablu.

Zatim prikazujemo sadržaj datoteke koristeći MessageBox kao što je prikazano u rezultirajućoj funkcionalnosti datoteke:

Odabir više datoteka

Također možete omogućiti OpenFileDialog čitanje više datoteka pomoću svojstva 'MultiSelect'. Ovo je korisno kada trebate odabrati više datoteka kao što je kopiranje, premještanje itd.

Funkcija je sljedeća:

privatni void button1_Click ( pošiljatelj objekta, EventArgs e )
{
korištenjem ( OpenFileDialog openFileDialog = novi OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Tekstualne datoteke|*.txt' ;
openFileDialog.Multiselect = pravi ;
ako ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
za svakoga ( bio je datoteka u openFileDialog.FileNames )
{
MessageBox.Show ( 'Odabrane datoteke: ' + datoteka ) ;
}
}
}
}


U ovom primjeru koristimo svojstvo 'MultiSelect' koje nam omogućuje odabir više tekstualnih datoteka.

Zatim ponavljamo svaku odabranu datoteku i prikazujemo njen put u okviru s porukama.


Eto ga!

Zaključak

U ovom sjajnom vodiču naučili ste kako izgraditi osnovnu GUI aplikaciju u C# koja može čitati datoteku i prikazati sadržaj pomoću OpenFileDialog. Također ste naučili o značajkama kao što su filtriranje za određene datoteke, odabir više datoteka itd.