08.03. (1) Ponavljanje: VIDEO LEKCIJA
Video - počinjemo sa Visual Studijem
- da ponovimo gradivo, a posle videa je deo gradiva koji treba ponoviti, i par novih stvari -
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.
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();
}Label i Button
Label (Labela)
Kontrola Label omogućuje prikaz teksta na formi koji može biti samostalan, ali se obično vezuje za neku drugu kontrolu. Opisuje njeno značenje. Najčešće se postavlja uz TextBox.
Najbitnije svojstvo ove kontrole je Text koje određuje
string koji će se prikazati. Dodatna svojstva su vezana za podešavanje fonta.
Button
Dugme je najčešće korišćena kontrola koja omogućava korisniku da klikom na njega pokrene neku akciju tj. da pokrene neki segment programskog koda na izvršavanje.
Najbitnije svojstvo je
Text kojim se postavlja natpis na njemu. Koristeći znak & ispred bilo kog znaka u svojstvu Text taj znak je podvučen i predstavlja skraćenicu tastature (npr. Nova &forma). Svojstvo Name služi
za jedinstvenu skraćenicu naziva kontrole koji se koristi u kodu.
Od događaja, najčešće se koristi Click, koji se pokreće kada korisnik klikne na dugme.
Primer:
private void btnNovaForma_Click(object sender, EventArgs e)
{
Form novaForma = new Form();
novaForma.ShowDialog();
}
private void btnKrajRada_Click(object sender, EventArgs e)
{
Application.Exit();
}
TextBox
> TextBox
Omogućava korisniku unos tekstualnog podatka koji aplikacija može dalje da obrađuje. Unos teksta može biti ili u jednoj ili u više linija.
Najbitnije svojstvo je Text koje se kodiranjem
može postavljati i čitati i koje korisnik može promeniti. Svojstvo
Multiline označava da li je moguća jedna ili više linija teksta. Ako je ovo svojstvo postavljeno na true, obično se postavlja i svojstvo ScrollBars koje ovakvom tekstu dodaje mogućnost pomeranja po
vertikali i horizontali u slučaju da je tekst dugačak, a veličina kontrole nije dovoljno velika da bi se prikazao kompletan tekst. Svojstvo
MaxLength se koristi kako bi se ograničio broj karaktera koje korisnik može uneti.
Podrazumevani događaj je
TextChanged koji se pokreće kad god korisnik unese ili obriše znak unutar kontrole.
Primer:
private void btnUnesi_Click(object sender, EventArgs e)
{
string ime = txtIme.Text;
MessageBox.Show("Zdravo " + ime);
}
Komponenta: Timer i sistemsko vreme
Timer – Ova komponenta predstavlja sat i jedna je od nevizuelnih komponenti (ne vidi se za vreme izvršavanja aplikacije). Koristi se za to da se u zadatim vremenskim intervalima aktivira neki događaj. Komponenta Timer izvršava periodično deo programskog koda, bez obzira na stanje programa.
Timer – klasa koja se koristi kada u određenim intervalima ponavljamo akciju
Šta koristimo:
.Interval
.Enabled
Tick – događaj koji pokreće neku isprogramiranu akciju
Da bi timer bio aktivan podesimo osobinu Enabled na True a osobinu Interval na neki ceo broj milisekundi (npr 1000). Povećanjem ili smanjenjem vrednosti za Interval usporavaćemo ili ubrzavati pojavljivanje izvršavanja isprogramirane akcije tj. ova osobina određuje takt časovnika tj. vremenski interval. Nakon svakog intervala pojavljuje se jedan otkucaj tj. Tick događaj za koji ćemo vezatinašu akciju . Preporučivo je da se podesi naziv metode koja će se izvršavati na svaki događaj Tick na neko ime koje ima smisla (npr. casovnik_Tick)
Primer jednog jednostavnog zadatka sa upotrebom tajmera možete pogledati na :
https://www.its.edu.rs/programski-jezik-c-15-timer-komponenta/
Sistemsko vreme
Bez prikaza odnosno informacije o vremenu mnoge aplikacije jednostavno ne mogu da se zamisle. Rad sa vremenom koje obuhvata podatke o datumu i vremenu je omogućeno pomoću strukture DateTime koja je deo System prostora imena (namespace). Ova struktura sadrži sistemsko vreme koje se dobija korišćenjem statičkog svojstva Now.
Ako se koriste metode ToShortDateString() i ToLongTimeString() dobija se datum odnosno vreme u obliku stringa. Datum je u formi dan, mesec, godina a vreme u formi sat, minuti i sekunde.
Primer u kojem se vrši prikaz sistemskog vremena možete pogledati na: