Izgled forme

Forma je osnovni grafički objekat koji se koristi u aplikacijama koje rade u grafičkom okruženju kao što su Windows-i. Sama forma ne znači ništa. Njena osnovna uloga je da “drži” kontrole i obezbeđuje interakciju korisnika sa računarom.

prazna forma - slika

Polazna ( ili osnovna ) forma dobija se na startu. Kreiranje neke druge obavlja se kasnije eksplicitno kroz dizajn te aplikacije (videćemo kasnije).
  1. Pokrenite Microsoft Visual Studio .NET

  2. Na stranici Start Page izaberite New Project (ili, na glavnom meniju, File -> New -> Project...)

  3. Na New Project dijalogu u Project Types listi birajte Visual C# Projects

  4. U Templates listi birajte Windows Application (.Net )

  5. U Name tekst polju zamenite <Enter name> sa nekim imenom (npr WinForms2)

  6. U kombo polju Location prihvatite predlog ili otkucajte sami OK

  7. Pritisnite F5 da bi testirali program

  8. Zatvorite ga, i vraćate se u VS.

Na prikazu klasa primećujete da je kreirana klasa Form1 izvedena iz klase Form koja pripada prostoru imena System.Windows.Forms

public class Form1 : System.Windows.Forms.Form

Na ovaj način klasa Form1 nasleđuje (poseduje) sve osobine roditeljske klase. Ali, osim što sadrži sve osobine Form klase, možete joj dodeliti posebne metode, polja, koje su samo vama od interesa. Takođe, ovoj klasi možete dodavati i druge Widnows kontrole i time učiniti formu da izgleda i funkcioniše onako kako želite.

Naslovna linija - Title bar

Forma se sastoji iz različitih grafičkih celina koje zajedno čine da se cela forma ponaša tipično kao jedan prozorski objekat i kao objekat koji čuva ostale objekte tj. kontrole ( kontejner kontrola ). Gornji deo forme obično je označen posebnom bojom. Naziva se naslovna linija – title bar i čuva čitljivi naziv forme. Ovaj tekst pripada svojstvu Text forme. Dakle, dodajete ga popunjavanjem ovog svojstva u prozoru Properties.

Ikona - Icon

Na levom delu naslovne linije forma prikazuje malu sliku koju nazivamo ikonom ili sistemskom ikonom. Visual Studio obezbeđuje podrazumevanu ikonu za sve forme. Ako pak želite da koristite drugu ikonu to možete izvesti biranjem Icon polja u prozoru Properties kada je forma selektovana, a zatim kliknite na dugme sa tri tačkice.

Tada se otvara Open dijalog pomoću koga možete naći novu ikonu koju će aplikacija nadalje koristiti. Inače, ako ikonu želite da promenite programski morate prvo ikonu programski kreirati. Ikona je u prostoru imena System.Drawing. ....... ( za one koji žele da dodaju ili nacrtaju svoju ikonicu, to možemo raditi na vežbama, a kasnije da dodamo u lekciju).

Sistemska dugmad

U krajnjem desnom uglu naslovne linije nalaze se sistemski dugmići: minimize, maximize, restore ili dugme za zatvaranje prozora. Postojanje ovih dugmića je takođe opciono, tj. nema smisla da se sve forme minimizuju, ovo naročito važi za modalne dijaloge, o čemu ćemo govoriti kasnije. Podešavanje ovih sistemskih dugmića izvodi se svojstvima MinimizeBox odnosno MaximizeBox.

Ako želite od forme da napravite neku paletu alatki, tj. nekakav “tool”, preporučuje se (poštujući nepisane “windows grafičke standarde”) da forma ima samo malo Close dugme.

Klijentska oblast

Najveći deo forme pripada oblasti koju obično nazivamo klijentskom ili samo telo forme. Na tu površinu postavljamo kontrole ili je koristimo kao grafičku oblast preko koje ispisujemo tekst ili iscrtavamo nešto. Ova oblast mora imati inicijalno postavljeno svojstvo pozadinske boje BackColor. Boju biramo iz palete ukoliko koristimo Properties prozor ili iz Color strukture programski:

      BackColor = Color.AliceBlue;

WindowState

Kada je forma u veličini istoj kao kad je i postavljena u toku dizajna, kažemo da je stanje forme normal. Može se posebno podesiti da bude minimizovana ili maksimizovana kada se aplikacija pokrene. Ovo se podešava svojstvom WindowState. Podrazumevana vrednost ovog svojstva je Normal, tj. forma će se pojaviti na način na koji je podešena u dizajnu. Ukoliko pak programski želite da promenite izgled forme tj. da je minimizujete ili maksimizujete u nekom delu koda onda se to izvodi svojstvima Minimized ili Maximized.

      Fm.WindowState = FormWindowState.Maximized;

Ovo svojstvo se koristi i kod čitanja stanja forme. Drugim rečima, kada želite da proverite stanje vaše forme programski potrebno je da vrednost ovog svojstva poredite sa odgovarajućim vrednostima Normal, Maximized ili Minimized.

ShowInTaskbar

Kada kreirate jednu aplikaciju koja se sastoji od više formi ( što je u praksi najčešći slučaj ) morate da podesite da se sve forme ne vide u liniji na dnu ekrana – taskbar, koja pokazuje koje su sve aplikacije otvorene (taskbar presence). Uobičajeno je da samo jedna ( početna ili glavna ) forma bude prikazana, dok se ostale moraju sakriti. Ovo se reguliše pomoću svojstva ShowInTaskbar.

Kreiranje objekta forme

Kreiranje forme obavljate na isti način kao i svih ostalih objekata. Klasa Form je u okviru prostora imena Forms, u okviru prostora imena System. Prikaz forme obezbeđujete metodom Show. Na primer

      Form3 f = new Form3();

      f.Show();

Zatvaranje forme

Kao što kreirate jednu formu da biste preko nje izveli neke UI akcije, tako je morate i zatvoriti pošto završite sa tim. Zatvaranje forme obavljate pomoću metode Close(). Sintaksa je

      void Close();

Ako ovom metodom pokušate da zatvorite glavnu formu vaše aplikacije zatvarate i vašu aplikaciju.

Pokretanje forme

Kada su dve ili više formi pokrenute na vašem računaru samo jedna može primati ulaz od korisnika. Takva forma ima naslovnu liniju drugačije obojenu od ostalih i predstavlja aktivni prozor. Ostali prozori su neaktivni.

Događaj Activated() detektuje kada neki prozor postaje aktivan. Pokretanje prozora izvodi se ili korisnički, putem miša na primer, ili programski metodom Activate().

Nasuprot ovog događaja postoji i događaj koji registruje trenutak kada neka forma gubi korisnički ulaz. Ovo je događaj Deactivated().


Modalne i nemodalne forme

Pored osnovne tj. glavne forme mogu se kreirati i dodatne forme koje će se prikazivati kao odgovor na neku akciju korisnika.

Da bi ta forma mogla da se koristi prvo mora da se generiše. Generisanje se vrši na sledeći način: desni klik u SolutionExplorer, a zatim na Add i na kraju Windows Form ili u meniju Project pa Add Windows Form.

nemodalna forma - primer u slici

private void btnNemodalnaForma_Click(object sender, EventArgs e)
{
    NovaForma frmNovaForma = new NovaForma();
    frmNovaForma.Show();
}

Kada je moguće prebacivanje fokusa sa nove forme na osnovnu i obrnuto onda se ta forma naziva nemodalna forma. Koristi se metoda Show().

Ako nije dozvoljen prelaz sa jedne na drugu formu to je onda modalna forma ili Dialog forma. Da bi se vratio na prethodnu formu korisnik treba da zatvori novu. Tu se koristi metoda ShowDialog().

private void btnModalnaForma_Click(object sender, EventArgs e)
{
    NovaForma frmNovaForma = new NovaForma();
    frmNovaForma.ShowDialog();
}

Zatvaranje forme

Forma se može zatvoriti standardno na dugme X, a moguće je formu zatvoriti programski nakon neke obrade. Da bi se tako postiglo zatvaranje koristi se metoda Close().

private void button1_Click(object sender, EventArgs e)
{
    this.Close();
}


Izvor:

http://download.tutoriali.org/Tutorials/C/C-Sharp_Tehnike_vizuelnog_programiranja.pdf


Last modified: Sunday, 28 February 2021, 11:47 PM