0. Šta su prozori za dijalog?

Prozori za dijalog su specijalni prozori koje aplikacije koriste kako bi prikupile dodatne informacije od korisnika, poput izbora fajla, foldera, boje ili šablona. U okviru Windows Forms aplikacija u C#, dijalog za otvaranje fajlova omogućava korisniku da pretražuje i bira fajlove iz lokalnog sistema.

Najčešće korišćeni dijalozi:
  • OpenFileDialog: Omogućava korisniku da izabere fajl za otvaranje.
  • SaveFileDialog: Omogućava korisniku da izabere fajl za čuvanje.
  • FolderBrowserDialog: Omogućava izbor direktorijuma.
  • ColorDialog: Omogućava izbor boje.

U ovoj lekciji, fokusiraćemo se na OpenFileDialog, dijalog koji omogućava izbor fajla za otvaranje.


1. Prozori za dijalog Otvori

U nastavku je video snimak (bez tona) u kojem se na najlakši (i najbrži) način demonstrira kako se koristi dijalog za otvaranje fajlova:

( Malko detaljnije objašnjenje lekcije je na stranama od 80 do 88 u knjizi za koju je postavljen link na dnu ove lekcije)

OpenFileDialog je klasa koja se koristi za prikazivanje dijaloga za izbor fajla. Kada korisnik izabere fajl i potvrdi, aplikacija može koristiti putanju fajla kako bi pročitala njegov sadržaj ili izvršila neku drugu radnju.

Klikom na obojeni deo možete da vidite , ... , ...   i (opciono)  .

Osnovna svojstva klase OpenFileDialog:
  • Filter: Definiše tipove fajlova koji se mogu prikazati u dijalogu. Na primer, moguće je prikazati samo slike, tekstualne fajlove itd.
  • InitialDirectory: Postavlja početni direktorijum koji će se prikazati kada se dijalog otvori.
  • FileName: Vraća ili postavlja ime izabranog fajla.
  • Multiselect: Omogućava korisniku da izabere više fajlova ako je postavljeno na True.
Metoda klase OpenFileDialog:
  • ShowDialog(): Prikazuje dijalog korisniku. Vraća rezultat koji pokazuje da li je korisnik izabrao fajl (DialogResult.OK) ili je odustao (DialogResult.Cancel).
Koraci za implementaciju OpenFileDialog-a iz programskog koda:
  1. Pokrenuti Visual Studio: Kreirati novi Windows Forms projekat.
  2. Dodati dugme za otvaranje dijaloga: U formu dodati dugme (Button) koje će korisniku omogućiti da otvori dijalog za izbor fajla.
  3. Kreirati OpenFileDialog: U kodu forme kreirati instancu klase OpenFileDialog i prikazati dijalog prilikom klika na dugme.
Primer programskog koda (implementacija):
using System;
using System.Windows.Forms;

namespace OpenFileDialogExample
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}

// Događaj za dugme koje otvara OpenFileDialog
private void btnOpenFile_Click(object sender, EventArgs e)
{
// Kreiraj OpenFileDialog instancu
OpenFileDialog openFileDialog = new OpenFileDialog();

// Postavi filter da prikazuje samo tekstualne fajlove
openFileDialog.Filter = "Text Files|*.txt|All Files|*.*";
openFileDialog.Title = "Izaberite fajl za otvaranje";

// Prikazivanje dijaloga i provera da li je fajl izabran
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// Prikazivanje izabranog fajla u TextBox-u ili Labeli
textBoxFilePath.Text = openFileDialog.FileName;

// Opcionalno, pročitaj sadržaj fajla
string fileContent = System.IO.File.ReadAllText(openFileDialog.FileName);
textBoxFileContent.Text = fileContent;
}
}
}
}
Objašnjenje koda:
  • openFileDialog.Filter: Ovaj deo koda definiše koji tipovi fajlova će biti prikazani u dijalogu. U ovom slučaju, prikazuju se tekstualni fajlovi (.txt) i svi fajlovi (*.*).
  • openFileDialog.ShowDialog(): Prikazuje dijalog korisniku i vraća DialogResult. Ako korisnik izabere fajl, rezultat će biti OK, a ako odustane, biće Cancel.
  • System.IO.File.ReadAllText(): Metoda koja čita ceo sadržaj fajla i vraća ga kao string. Sadržaj fajla se prikazuje u tekstualnom polju (TextBox).

Zadatak: 

  1. Kreirati aplikaciju koja ima sledeće kontrole:
    • Button: Dugme sa tekstom „Otvori fajl“.
    • TextBox: Polje za prikaz putanje izabranog fajla.
    • Multiline TextBox: Polje za prikaz sadržaja fajla (podesi svojstvo Multiline na True da bi polje moglo prikazivati više redova teksta).
  2. Kreirati događaj za dugme:

    • Dvoklik na dugme u dizajneru kako bi automatski generisali metodu za događaj Click. Unutar ove metode postaviti kod za otvaranje dijaloga i prikazivanje sadržaja fajla.


Zadaci za vežbu - za bolje učenika na času, a za ostale kod kuće:
  1. Napravi Windows Forms aplikaciju koja koristi OpenFileDialog za otvaranje slike i prikazuje je u PictureBox-u.
  2. Eksperimentisati sa različitim filterima i postaviti mogućnost otvaranja više fajlova odjednom.

LINK (knjiga): Osnove programskog jezika C#.NET

Last modified: Tuesday, 2 December 2025, 5:48 AM