480 likes | 558 Views
Računarski praktikum 3 Vježbe 10. Vinko Petričević. Konfiguriranje kontrola. Svojstva klase Control. Anchor – Određuje kako je kontrola pričvršćena u svojoj roditeljskoj kontejnerskoj kontroli. BackColor – Dohvaća ili postavlja pozadinsku boju kontrole.
E N D
Računarski praktikum 3Vježbe 10 Vinko Petričević Konfiguriranje kontrola
Svojstva klase Control • Anchor – Određuje kako je kontrola pričvršćena u svojojroditeljskoj kontejnerskoj kontroli. • BackColor – Dohvaća ili postavlja pozadinsku boju kontrole. • BackGroundImage – Predstavlja sliku koja se iscrtava kao pozadinska slika kontrole. • CausesValidation – Određuje uzrokuje li kontrola validaciju. Validacija omogućuje provjeru zadovoljava li korisnički unos specifične zahtjeve oblikovanja i vrijednosti. • ContainsFocus – Označava ima li kontrola, ili neka njezina kontrola dijete, fokus. • Controls – Dohvaća kolekciju kontrola sadržanih unutar pozivajuće kontrole. Koristi se samo za kontejnerske kontrole. • Cursor – Predstavlja pokazivač koji se koristi kad prelazimo mišem preko kontrole. • Dock – Određuje kako je kontrola usidrena u svoju roditeljsku kontrolu.
Svojstva klase Control • Enabled – Određuje dostupnost kontrole. Ako kontrola nije dostupna, prikazana je zasivljeno i ne može se odabrati (selektirati) niti urediti (editirati). • Font – Dohvaća ili postavlja font koji se koristi za prikaz teksta u kontroli. • ForeColor – Predstavlja boju koja se koristi u prvom planu kontrole, primarno za prikaz teksta. • HasChildren – Vraća vrijednost koja označava ima li kontrola ikoju kontrolu dijete. • Height – Predstavlja visinu kontrole u pikselima. • Location – Označava lokaciju gornjeg lijevog ugla kontrole u odnosu na gornji lijevi ugao njezine roditeljske kontrole. • MaximumSize – Dohvaća ili postavlja maksimalnu veličinu kontrole. • MinimumSize – Dohvaća ili postavlja minimalnu veličinu kontrole. • Name – Predstavlja ime koje se koristi za referenciranje kontrole u kôdu. Ovo svojstvo može biti izmijenjeno jedino kroz dizajner.
Svojstva klase Control • Parent – Dohvaća ili postavlja roditeljsku kontrolu pozivajućoj kontroli. Postavljanje ovog svojstva dodaje kontrolu Controls kolekciji nove roditeljske kontrole. • Region – Dohvaća ili postavlja područje prozora povezano s kontrolom. • Size – Predstavlja veličinu kontrole u pikselima. • TabOrder – Označava koja će po redu kontrola biti selektirana pri navigiranju od kontrole do kontrole korištenjem Tab tipke na tipkovnici. • Tag – Omogućuje programerima spremanje vrijednosti ili objekta povezanog s kontrolom. • Text – Dohvaća ili postavlja tekst povezan s kontrolom. Tekst može ili ne mora biti prikazan ovisno o tipu kontrole i postavkama drugih svojstava. • Visible – Označava je li kontrola vidljiva ili nije. • Width – Predstavlja širinu kontrole u pikselima.
Podešenja kontrola • Svojstvo Size i Location nam omogućuju da promijenimoveličinu • možemo ju mijenjati Klikom miša, te pomicati micanjem bijelih kvadratića • više kontrola možemo selektirati držeći Ctrl • Možemo koristiti Layout alatnu traku za podešenje pozicije (ako je nema, možemo ju uključiti na View => Toolbars => Layout) • možemo koristiti i linije za poravnavanje koje se automatski pojavljuju kada prenosimo kontrolu. (ako nisu uključene, možemo ih uključiti na: Tools => Options => Windows Forms Designer => General => LayoutMode => SnapLines) • većinu svojstava možemo podesiti u Properties prozoru (ako ga nema, uključimo ga na: View => Properties Window)
Podešenja kontrola • neke kontrole imaju Smart Tags – najopćenitije postavke možemo podesiti klikom na mali gumbić u gornjem desnom kutu kontrole • Pri kreiranju formi s više kontejnerskih kontrola, može biti koristan Document Outline (ako ga nema, uključimo ga na: View => Other Windows => Document Outline)
Button • glavna kontrola za zapovjednu interakciju između korisnika i korisničkog sučelja • može prikazati kratki tekst na svojoj površini i može odgovoriti na korisnički klik • Važnija svojstva: • AutoEllipsis – Omogućuje automatsko hvatanje teksta koji se širi izvan širine kontrole. • DialogResult – Postavlja vrijednost svojstva DialogResult koja se može povezati s Button kontrolom, kao npr. DialogResult.OK ili DialogResult.Cancel. • FlatAppearance – Definira stilove koji upravljaju pojavljivanjem i ponašanjem Button kontrole kad je svojstvo FlatStyle postavljeno na vrijednost Flat. • FlatStyle – Postavlja vizualni stil Button kontrole kad korisnik pomakne miš nad kontrolu i klikne. • Text – Postavlja tekst koji se pojavljuje na Button kontroli. • TextAlign – Označava kako će tekst prikazan na Button kontroli biti poravnat. • Najčešći događaj je Button_Click – dodajemo ga dvostrukim klikom u dizajnerskom editoru
Button • Ostale događaje možemo dodati u Properties okviru, dvostrukim klikom na prazno polje: private void button1_MouseDown(object sender, MouseEventArgs e) { switch (e.Button) { case MouseButtons.Left: MessageBox.Show("Kliknuta je lijeva tipka miša!"); break; case MouseButtons.Right: MessageBox.Show("Kliknuta je desna tipka miša!"); break; default: MessageBox.Show("Kliknuta je neka druga tipka miša!"); break; } }
Button • svojstva MouseClickEventArgs klase: • Button – Označava tipku miša koja je bila pritisnuta. Moguće vrijednosti su Left, Right, Middle, None, XButton1 ili XButton2. • Clicks – Dohvaća koliko je puta tipka miša bila pritisnuta i otpuštena. • Delta – Dohvaća za koliko se zareza okrenuo kotačić miša. • Location – Dohvaća trenutačnu lokaciju pokazivača miša. • X – Dohvaća X koordinatu pokazivača miša. • Y – Dohvaća Y koordinatu pokazivača miša.
Zadatak 1 • Napravite program koji ima 1 formu. • Na formi treba biti dva gumb. Prilikom klika na prvi gumb treba podići MessageBox s porukom o kliku • prilikom podizanja miša na drugom gumbu treba ispisati poruku o trenutnoj lokaciji
Prihvati (Accept) i Odustani (Cancel) • općeniti scenarij pri kreiranju Dijaloga su Accept (OK) ili Cancel – DialogResult vrijednosti • Forma se prikazuje metodom ShowDialog() DijalogForma dForma = new DijalogForma(); DialogResult dRezultat = dForma.ShowDialog(); if (dRezultat == DialogResult.OK) { // Ako je kliknut Accept button radimo nešto } else { // Inače se radi nešto drugo }
Label kontrola • koristi se za prikaz tekstualnih informacija samo za čitanje • Text svojstvo označava tekst koji je prikazan • AutoSize svojstvo ako je postavljeno na true automatski proširuje kontrolu na širinu teksta kojeg prikazuje. U suprotnom veličinu postavljamo ručno • Možemo ju koristiti za definiranje pristupnih tipki za druge kontrole (Alt+tipka) za fokusiranje određene kontrole • u imenu ispred znaka koji želimo da se koristi stavimo znak & • svojstvo UseMnemonic stavimo na true • TabIndex svojstvo stavimo za jedan manje od edit kontrole koju želimo fokusirati
Zadatak 2 • Napravite formu koja ima 2 polja za unos teksta. Ispred prvog neka piše Ime, a ispred drugog Prezime. Klikom na Alt+I neka se fokusira prvo, a Alt+P drugo polje
LinkLabel kontrola • omogućuje kreiranje poveznice prema nekoj internetskoj stranici • ActiveLinkColor – Postavlja boju aktivnih linkova. • LinkArea – Označava područje LinkLabel kontrole koje funkcionira kao link. • LinkBehavior – Označava ponašanje linka • SystemDefault – LinkLabel kontrola će prikazati link na isti način kako je određeno u sistemu. • AlwaysUnderline – link će uvijek biti podcrtan. • NeverUnderline – link nikada neće biti podcrtan. • HoverUnderline – link će biti podcrtan samo kad je iznad njega pokazivač miša. • LinkColor – Postavlja boju linka. • LinkVisited – Označava je li link već bio posjećen. • VisitedLinkColor – Postavlja boju posjećenih linkova.
LinkLabel kontrola • događaj LinkLabel.LinkClicked treba obraditi kôd pri kliku, npr, za otvaranje određene Internet stranice: // Otvaramo web stranicu u predodređenom internetskom pregledniku System.Diagnostics.Process.Start("www.math.hr"); // Postavljamo svojstvo LinkVisited na vrijednost true linkLabel1.LinkVisited = true;
Zadatak 3 • Napravite program koji ima dvije forme. Neka na prvoj bude samo jedan LinkLabel. Neka se klikom na njega otvori drugi dijalog s unosom imena i prezimena (neka je pristup njima – Modifiers – Internal). Ako kliknemo OK, treba podići MessageBox sa ispisom imena i prezimena, te staviti da je link već bio posjećen
TextBox kontrola • omogućuje prikaz i unos teksta, može prikazivati tekst u višelinija, a može prikazivati i maskirane znakove lozinke umjesto teksta • AutoCompleteCustomSource – Ovo svojstvo je string kolekcija koja sadržava podatke za samodopunu kad je svojstvo AutoCompleteMode postavljeno na vrijednost različitu od None i AutoCompleteSource svojstvo postavljeno na vrijednost Custom. • AutoCompleteMode – Postavlja način samodopune kontrole. • AutoCompleteSource – Postavlja izvor podataka za samodopunu. Može biti postavljeno na različite sistemske izvore ili na prilagođeni izvor omogućen preko AutoCompleteCustomSource svojstva. • CharacterCasing – Označava velika/mala slova u TextBox kontroli. Moguće vrijednosti su Normal, Upper ili Lower. • Lines – Vraća polje stringova koji predstavljaju individualne linije u tekstu TextBox kontrole. Ovo je svojstvo najkorisnije kad je svojstvo MultiLine postavljeno na vrijednost true.
TextBox kontrola • PasswordChar – Postavlja znak lozinke koji će biti prikazan u TextBox kontroli umjesto stvarnih znakova. • ReadOnly – Označava može li TextBox kontrola biti editirana. • ScrollBars – Označava trake za pomicanje koje će se prikazati u TextBox kontroli kad je MultiLine svojstvo postavljeno na vrijednost true. • Text – Dohvaća ili postavlja tekst sadržan u TextBox kontroli. • UseSystemPasswordChar – Označava hoće li se koristiti sistemski znak lozinke umjesto stvarnog teksta u TextBox kontroli. • WordWrap – Označava hoće li se riječi automatski presavijati iz jedne linije teksta u drugu (kad je svojstvo MultiLine postavljeno na vrijednost true).
MaskedTextBox kontrola • omogućuje uanprijed zadani obrazac za prihvaćanje ili odbijanje korisničkog unosa • AllowPromptAsInput – Označava predstavlja li odzivni znak (engl. prompt) ispravan unos. • AsciiOnly – Određuje jesu li samo ASCII znakovi ispravan unos. Ako je postavljeno na vrijednost true, samo se znakovi A-Z i znakovi a-z prihvaćaju kao unos. • BeepOnError – Označava šalje li MaskedTextBox kontrola sistemski zvučni signal (engl. beep) za svaki odbijeni unešeni znak. • CutCopyMaskFormat – Određuje jesu li literali (doslovni znakovi) i odzivni znakovi uključeni pri izrezivanju (engl. cut) i kopiranju (engl. copy). • HidePromptOnLeave – Određuje jesu li odzivni znakovi skriveni kad kontrola izgubi fokus. • InsertKeyMode – Dohvaća ili postavlja način za umetanje teksta za MaskedTextBox kontrolu.
MaskedTextBox kontrola • Mask – Definira ulaznu masku za MaskedTextBox kontrolu • PromptChar – Dohvaća ili postavlja znak koji se koristi kao odzivni znak. • RejectInputOnFirstFailure – Dohvaća ili postavlja vrijednost koja označava hoće li se parsiranje korisničkog unosa zaustaviti nakon prvog dohvaćenog neispravnog znaka. • ResetOnPrompt – Označava kako će biti obrađena situacija kad je unesen znak koji se podudara s odzivnim znakom. • ResetOnSpace – Označava kako će biti tretiran uneseni znak razmaka. • SkipLiterals – Označava trebaju li literali u maski biti ponovno uneseni ili preskočeni. • TextMaskFormat – Označava jesu li odzivni znak i literali uključeni u tekst vraćen preko Text svojstva.
MaskedTextBox kontrola • najvažnije svojstvo je Mask. Svojstvo MaskedTextProvider pruža mehanizam za parsiranje. Kôdovi znakova korišteni u defaultnom provideru su: • 0 – Predstavlja obaveznu znamenku između 0 i 9. • 9 – Predstavlja opcionalnu znamenku između 0 i 9. • # – Predstavlja obaveznu znamenku između 0 i 9 ili razmak. Znakovi plus (+) i minus (-) se također prihvaćaju. • L – Predstavlja obavezno slovo, veliko ili malo (A-Ž, a-ž). • ? – Predstavlja opcionalno slovo, veliko ili malo (A-Ž, a-ž). • & – Predstavlja obavezni znak. Ako je svojstvo AsciiOnly postavljeno na vrijednost true, ovaj se element ponaša kao L element. • C – Predstavlja opcionalni znak. Ako je svojstvo AsciiOnly postavljeno na vrijednost true, ovaj se element ponaša kao element ?. • A, a – Predstavlja opcionalni alfanumerički znak. Ako je svojstvo AsciiOnly postavljeno na vrijednost true, prihvaća samo A-Z i a-z. • . – Rezervirano mjesto za decimalni znak. Stvarni znak koji će biti korišten je decimalni znak postavljen preko svojstva FormatProvider. • , – Rezervirano mjesto znaka za grupiranje. Predstavlja separator za tisućice. Stvarni znak koji će biti korišten je znak za grupiranje postavljen preko svojstva FormatProvider. • : – Separator vremena. Stvarni znak koji će biti korišten je vremenski separator postavljen preko svojstva FormatProvider. • / – Datumski separator. Stvarni znak koji će biti korišten je datumski separator postavljen preko svojstva FormatProvider. • $ – Simbol valute. Stvarni znak koji će biti korišten je simbol valute postavljen preko svojstva FormatProvider. • < – Pomak dolje. Konvertira sve znakove koji slijede u mala slova. • > – Pomak gore. Konvertira sve znakove koji slijede u velika slova. • | – Otkazuje prethodni pomak gore ili pomak dolje. • \ – Preskače znak maske, pretvarajući ga u doslovan znak (engl. literal character). Na primjer, dvostruka obrnuta kosa crta (\\) je kontrolna sekvenca za pretvorbu u jednu obrnutu kosu crtu. • Ostali znakovi – Svi ostali znakovi prikazuju se u MaskedTextBox kontroli i korisnik ih ne može premjestiti ili obrisati.
MaskedTextBox kontrola • primjer: • Mask String – Uneseni tekst – Prikazani tekst – Opis • (999)-000-0000 – 1234567890 – (123)-456-7890 • 00/00/0000 – 07141969 – 07/14/1969 – Zapamtimo da će biti prikazan stvarni datumski separator određen preko svojstva FormatProvider. • $99,999.00 – 1234567 – $12,3456.00 – Zapamtimo da će biti prikazani stvarni znak valute, separator za grupiranje i decimalni separator određeni preko svojstva FormatProvider. • LL>L|LLL<LL – abcdABCD – abCdABcd
Zadatak 4 • Napravite formu na kojoj imamo unos imena, prezimena (text box), adrese (multiline text box) i telefona (masked text box – format postavimo na (999)-000-0000) • Omogućite korištenje Alt tipki za prelaz između kontrola • Neka ima i gumb Prikaži. Ako kliknemo na njega, neka se u MessageBox prozoru ispišu svi ti podaci
ListBox kontrola • najjednostavnija list-kontrola, služi za prikaz liste stavki • korisnik može odabrati jednu ili više stavki • DataSource – Postavlja izvor za spajanje podataka (engl. data binding) u toj kontroli. • DisplayMember – Predstavlja podatkovni član (engl. data member) prikazan u toj kontroli. • FormatString – Specificira formatirajući niz znakova koji će biti korišten za oblikovanje stavki u kontroli ako je svojstvo FormattingEnabled postavljeno na vrijednost true. • FormattingEnabled – Određuje jesu li stavke u kontroli oblikovane koristeći FormatString svojstvo. • Items – Vraća kolekciju stavki koje kontrola sadržava. • MultiColumn – Označava prikazuju li se višestruke kolone stavki ili samo po jedna. • SelectedIndex – Dohvaća indeks označene stavke ili, ako je svojstvo SelectionMode postavljeno na vrijednost MultiSimple ili MultiExtended, vraća prvi označeni indeks. • SelectedIndices – Vraća kolekciju svih označenih indeksa. • SelectedItem – Vraća označenu stavku ili, ako je svojstvo SelectionMode postavljeno na vrijednost MultiSimple ili MultiExtended, vraća prvu označenu stavku. • SelectedItems – Vraća kolekciju svih označenih stavki. • SelectedValue – U kontroli vezanoj s podatcima (engl. data-bound control), vraća vrijednost vezanu s označenom stavkom, Ako kontrola nije vezana s podatcima ili ako svojstvo ValueMember nije postavljeno, ovo svojstvo vraća vrijednost ToString() metode označene stavke. • SelectionMode – Određuje koliko se stavki može označiti u ListBox kontroli. Može biti postavljeno na None, Single, MultiSimple ili MultiExtended. MultiSimple omogućuje označavanje više objekata, a MultiExtended omogućuje korištenje tipki Shift i Ctrl za višestruko označavanje. • ValueMember – Označava podatkovni član koji će dati vrijednosti za ListBox kontrolu.
ComboBox kontrola • osim odabira ponuđenih stavki omogućuje i unos nove stavke • može se konfigurirati za prikaz liste opcija ili kao padajući popis • DataSource – Postavlja izvor za spajanje podataka (engl. data binding) u toj kontroli. • DisplayMember – Predstavlja podatkovni član (engl. data member) prikazan u toj kontroli. • DropDownHeight – Postavlja maksimalnu visinu za padajući dio ComboBox kontrole. • DropDownStyle – Određuje stil kombiniranog okvira. Može biti postavljeno na vrijednost Simple – kontrola je tada slična ListBox kontroli, ali ne može biti podešen odabir više stavki; DropDown – predodređena vrijednost; DropDownList – slično kao DropDown, ali ne dopušta korisniku unos nove vrijednosti. • DropDownWidth – Postavlja širinu padajućeg dijela ComboBox kontrole. • FormatString – Specificira formatirajući niz znakova koji će biti korišten za oblikovanje stavki u kontroli ako je svojstvo FormattingEnabled postavljeno na vrijednost true. • FormattingEnabled – Određuje jesu li stavke u kontroli oblikovane koristeći FormatString svojstvo. • Items – Vraća kolekciju stavki koje kontrola sadržava. • SelectedIndex – Dohvaća indeks označene stavke. • SelectedItem – Vraća označenu stavku. • SelectedValue – U kontroli vezanoj s podatcima (engl. data-bound control) vraća vrijednost vezanu s označenom stavkom. Ako kontrola nije vezana s podatcima ili ako svojstvo ValueMemeber nije postavljeno, ovo svojstvo vraća vrijednost ToString() metode označene stavke. • ValueMember – Označava podatkovni član koji će dati vrijednosti za ListBox kontrolu.
CheckedListBox kontrola • prikazuje listu stavki koje korisnik može višestruko označavatiklikom na kvačicu ispred stavke. Više stavki može biti zakvačeno (CheckedItems), ali samo jedna selektirana. • CheckedIndices – Vraća kolekciju svih zakvačenih indeksa. • CheckedItems – Vraća kolekciju svih zakvačenih stavki. • FormatString – Specificira formatirajući niz znakova koji će biti korišten za oblikovanje stavki u kontroli ako je svojstvo FormattingEnabled postavljeno na vrijednost true. • FormattingEnabled – Određuje jesu li stavke u kontroli oblikovane koristeći FormatString svojstvo. • Items – Vraća kolekciju stavki koje kontrola sadržava. • MultiColumn – Označava prikazuje li kontrola višestruke kolone stavki ili samo jednostruke stavke. • SelectedIndex – Dohvaća indeks označene stavke ili, ako je svojstvo SelectionMode postavljeno na vrijednost MultiSimple ili MultiExtended, vraća prvi označeni indeks. • SelectedItem – Vraća označenu stavku ili, ako je svojstvo SelectionMode postavljeno na vrijednost MultiSimple ili MultiExtended, vraća prvu označenu stavku. • SetItemChecked(indeks, true);SetItemCheckState(indeks, CheckState.Indeterminate);
list-kontrole • Stavke možemo dodavati koristeči svojstvo Items, za vrijemedizajniranja, ili za vrijeme izvršavanja koristeći njegovu metodu Add ili AddRange • za ubacivanje na određeni indeks (ostale stavke se miču dolje) • Uklanjanje listBox1.Items.Add(“Nova stavka"); listBox1.Items.AddRange(new String[] { "Stavka1", "Stavka2", "Stavka3"}); listBox1.Items.Insert(2, "Ova stavka će biti treća po redu"); listBox1.Items.Remove(naziv_ili_referenca_objekta); listBox1.Items.RemoveAt(1); listBox1.Items.Clear();
list-kontrole • traženje stavke (vraća -1 ako stavka ne postoji): • određivanje označene stavke: • ako je SelectionMode MultiSimple ili MultiExtended: • kontrolu možemo spojiti (bind) s izvorom podataka (dana source) koristeći DataSource, DisplayMember i ValueMember (o tome ćemo kasnije) • sortiranje možemo postići postavljanjem svojstva Sorted na true • postavljanjem svojstva FormatString možemo postići formatirani prikaz • postavljanje SelectedItem ili SelectedIndex možemo označiti stavku int indeks = listBox1.Items.IndexOf("Stavka koju tražimo"); int oznaceniIndeks = listBox1.SelectedIndex; foreach (int i in listBox1.SelectedIndices) MessageBox.Show(listBox1.Items[i].ToString());
Zadatak 5 • Napravite program koji ima dvije forme. Neka je druga kao iz prethodnog zadatka, a na prvoj neka imamo odabir traženja po imenu, prezimenu, broju telefona ili adresi, te neka imamo mogućnost izmijene/dodavanja nove osobe
ListView kontrola • omogućuje pregled listi stavki s opcionalnim pridruženimikonama ili dodatnim detaljima • Columns – Sadržava kolekciju kolona koje će biti prikazane kad je svojstvo View postavljeno na vrijednost Details. • Groups – Sadržava opcionalnu kolekciju grupa koje mogu biti korištene za kategoriziranje stavki sadržanih u Items kolekciji. • Items – Kolekcija ListViewItem objekata koji se prikazuju u ListView kontroli. • Group – Grupa (ako postoji) iz Groups kolekcije ListView kontrole kojoj taj ListViewItem objekt pripada . • ImageIndex – Indeks slike (ako postoji) koja će biti korištena za tu stavku kad je View svojstvo postavljeno na vrijednost LargeIcon ili SmallIcon. Ako je svojstvo ImageIndex postavljeno, svojstvo ImageKey ima vrijednost "". • ImageKey – Ključ slike (ako postoji) koji će biti korišten za tu stavku kad je View svojstvo postavljeno na vrijednost LargeIcon ili SmallIcon. Ako je svojstvo ImageKey postavljeno, svojstvo ImageIndex ima vrijednost null. • SubItems – Sadržava podstavke koje će biti prikazane kad je svojstvo View postavljeno na vrijednost Details. Te stavke trebaju odgovarati kolonama u Columns kolekciji ListView kontrole. • Text – Tekst koji je prikazan u ListView kontroli. • LargeImageList – ImageList komponenta iz koje se iscrtavaju slike za ListViewItem objekte kad je svojstvo View postavljeno na vrijednost LargeIcon. • ShowGroups – Određuje prikazuju li se grupe sadržane u Groups kolekciji. • SmallImageList – ImageList komponenta iz koje se iscrtavaju slike za ListViewItem objekte kad je svojstvo View postavljeno na vrijednost SmallIcon. • View – Označava način na koji su prikazane stavke ListView kontrole
ListView kontrola – dodavanje slika • na formu dodamo ImegeList kontrolu, te joj na svojstvu Imagesdodajemo slike u kolekciju • označimo ListView i podesimo svojstvo SmallImageList, LargeImageList ili oba na ImageList kontrolu • kliknemo na Items i u ListViewItem_Collection_Editoru postavimo ImageIndex ili ImageKey svakog objekta na odgovarajuću sliku. Također postavimo i tekst • u View svojstvu podesimo na LargeIcon ili SmallIcon
TreeView kontrola • omogućuje prikaz liste objekata na hijerarhijski način • svaki objekt je instanca klase TreeNode. Čvorovi koji sadržavaju čvorove mogu biti skupljeni (collapsed) ili rašireni (expanded) • glavno svojstvo je Nodes. Ono sadrži kolekciju korijenskih TreeNode objekata. Važnija svojstva TreeNode objekta: • FirstNode – Vraća prvi čvor u trenutačnoj grupi čvorova djece. • LastNode – Vraća zadnji čvor u trenutačnoj grupi čvorova djece. • NextNode – Vraća sljedećeg rođaka trenutačnog čvora (tj. sljedeći čvor koji je na istoj razini kao i trenutačni). • NextVisibleNode – Vraća sljedeći vidljivi čvor. • Nodes – Vraća kolekciju čvorova djece trenutačnog čvora. • Parent – Vraća čvor roditelj trenutačnog čvora. Ako je trenutačni čvor korijenski čvor u TreeView kontroli, pokušaj pristupanja ovom čvoru izbacit će NullReferenceException iznimku. • PrevNode – Vraća prethodni čvor. • PrevVisibleNode – Vraća prethodni vidljivi čvor. • TreeView – Vraća referencu TreeView kontrole kojoj trenutačni čvor pripada.
TreeView kontrola • čvorove možemo dodavati za vrijeme dizajniranja koristeći editor, ili za vrijeme izvršavanja metodeom Nodes.Add • čvorove uklanjamo korištenjem Remove ili RemoveAt (ako ne postoji dobijemo ArgumentOutOfRange iznimku) • raširivanje i skupljanje: TreeNode cvor = new TreeNode("Novi čvor"); // Novom čvoru dodajemo još jedan čvor dijete cvor.Nodes.Add(new TreeNode("Novo dijete")); // Dodajemo čvor i njegovo dijete kao korijen u // TreeView kontrolu pod imenom treeView1 treeView1.Nodes.Add(cvor); // Dodajemo drugo dijete prvom čvoru u kontroli treeView1 treeView1.Nodes[0].Nodes.Add(new TreeNode("Drugo dijete")); treeView1.Nodes.Remove(cvor); // Uklanja iz kolekcije čvor pod imenom cvor treeView1.Nodes.RemoveAt(1); // Uklanja iz kolekcije čvor s indeksom 1 cvor.Expand(); // Raširuje čvorove djecu čvora pod nazivom cvor cvor.Collapse(); // Skuplja čvorove djecu čvora pod imenom cvor
Zadatak 6 • Napravite program koji ima formu za dodavanje novog mentora, i dodavanje novog studenta (svaki student može imati samo jednog mentora). Treba omogućiti prikaz nastavnik-student u TreeView kontroli, te omogućiti brisanje određenog mentora/studenta
NumericUpDown kontrola • omogućuje postavljanje intervala brojeva koje korisnik može pregledati i označiti • Hexadecimal – Označava hoće li brojčana vrijednost biti prikazana u heksadecimalnom obliku. • Increment – Dohvaća ili postavlja iznos za koji će se povećavati ili smanjivati vrijednost u kontroli. • Maximum – Označava maksimalnu vrijednost za kontrolu. • Minimum – Označava minimalnu vrijednost za kontrolu. • ThousandsSeparator – Označava hoće li odgovarajući kulturološki separator tisućica biti korišten kad se prikazuju vrijednosti veće od 1000. • Value – Dohvaća ili postavlja trenutačnu vrijednost kontrole.
DomainUpDown kontrola • slična NumericUpDown, samo što korisnik pregledava kolekciju unaprijed zadanih stringova • Items – Sadržava kolekciju stringova koji se prikazuju u kontroli. • ReadOnly – Označava može li korisnik izmijeniti svojstvo Text. • Text – Dohvaća ili postavlja tekst kontrole. • ako je ReadOnly postavljeno na false, korisnik može sam upisati stavku, ali se ona ne dodaje u Items
Kontrole za odabir • omogućuju odabir vrijednosti • CheckBox omogućava korisniku zakvačiti kvadratić pored određene oznake. Možemo istovremeno zakvačiti više kontrola • AutoCheck – Određuje čekira li se CheckBox kontrola automatski kad je kliknut tekst pored nje. • Checked – Dohvaća ili postavlja čekiranost CheckBox kontrole. • CheckState – Vraća stanje čekiranosti kontrole. Moguće vrijednosti su Checked, Unchecked i Indeterminate. • Text – Tekst koji se prikazuje pored kvadratića za čekiranje. • TreeState – Određuje dopušta li CheckBox kontrola dva ili tri stanja čekiranosti. • RadioButton omogućava odabir samo jedne opcije (unutar jedne kontejnerske – najčešće GroupBox – kontrole su međusobno isključive) • Checked – Označava je li RadioButton kontrola selektirana. • Text – Tekst koji se prikazuje pored okruglog gumba (engl. radio button).
Kontrole za odabir • TrackBar kontrola omogučuje grafičko postavljanje vrijednosti iz predefiniranog skupa vrijednosti pomicanjem klizača mišem ili tipkovnicom • LargeChange – Broj pozicija za koje se pomakne klizač na klik miša ili pritiskom tipki Page Up i Page Down. • Maximum – Maksimalna vrijednost TrackBar kontrole. • Minimum – Minimalna vrijednost TrackBar kontrole. • SmallChange – Broj pozicija za koje se pomakne klizač pritiskom na tipke strelice. • TickFrequency – Broj pozicija između oznaka na TrackBar kontroli. • TickStyle – Označava hoće li se pojavljivati oznake na TrackBar kontroli. • Value – Vrijednost vraćena preko TrackBar kontrole.
Kontrole za odabir • DateTimePicker – kontrola za odabir datima, vremena ili oboje koristeći sučelje slično ComboBox kontroli • CustomFormat – Prilagođeni format datuma i vremena koji se koristi kad je svojstvo Format postavljeno na vrijednost Custom. • Format – Postavlja format za prikaz datuma i vremena u DateTimePicker kontroli. Ovo svojstvo može biti postavljeno na vrijednost Long – prikazuje vrijednost u obliku dugog datumskog zapisa, Short – prikazuje vrijednost u obliku kratkog datumskog zapisa, Time – prikazuje samo vrijeme, Custom – koristi prilagođeni format određen preko CustomFormat svojstva. • MaxDate – Maksimalna vrijednost za datum i vrijeme koju kontrola može prihvatiti. • MinDate – Minimalna vrijednost za datum i vrijeme koju kontrola može prihvatiti. • Value – Vrijednost za datum i vrijeme na koju je kontrola trenutačno postavljena. • Kada je Format postavljen na Time, iako Value sadržava i datumski dio, on se neće prikazati na kontroli
Kontrole za odabir • MonthCalendar omogućuje označiti datumski interval • AnnuallyBoldedDates – Sadržava polje datuma i vremena koji će se prikazivati podebljano svake godine. • BoldedDates – Sadržava polje datuma i vremena koji će se pojaviti podebljani. • FirstDayOfWeek – Određuje koji je dan u tjednu postavljen kao prvi dan u tjednu MonthCalendar kontrole. • MaxDate – Postavlja maksimalni datum koji se može odabrati u kontroli. • MinDate – Postavlja minimalni datum koji se može odabrati. • MaxSelectionCount – Postavlja maksimalni broj dana koji se mogu označiti. • MonthlyBoldedDates – Sadržava polje datuma i vremena koji će se pojaviti podebljani svakog mjeseca. • SelectionEnd – Označava završni datum i vrijeme SelectionRange svojstva. • SelectionRange – Sadržava datumski interval koji je korisnik selektirao. • SelectionStart – Označava početni datum i vrijeme SelectionRange svojstva. • nakon što odaberemo jedan datum, držeći Shift možemo odabrati drugi datum intervala.
Zadatak 7 • Napravite formu sa kolegijima s prve godine. • svaki označeni kolegij treba omogućiti odabir ocjene (4 RadioButton kontrole) i datuma kada je kolegij položen
Rad sa slikama • PictureBox kontrola služi za prikaz slika. Može prikazivati slike uobičajenih formata, a može ih učitati iz resursa, kompajlirane u aplikaciju ili ih možemo učitati sa diska ili interneta. • ErrorImage – Slika koja će biti prikazana ako se ne učita selektirana slika. • Image – Slika koja će se učitati u PictureBox kontrolu. • ImageLocation – Internetska ili diskovna adresa iz koje će se slika učitati. • InitialImage – Slika koja će biti prikazana u PictureBox kontroli dok se slika učitava. • SizeMode – Određuje kako kontrola upravlja smještanjem slike i promjenom veličine. • Ako prilikom učitavanja u resurse sliku učitamo kao lokalni resurs, bit će dostupan samo toj PictureBox kontroli • Ako je slika već učitana, možemo svojstvo Image postaviti na tu sliku System.Drawing.Bitmap slika = new Bitmap(@"c:\slika.bmp"); pictureBox1.Image = slika;
Rad sa slikama • ImageList je komponenta koja omogućuje organiziranje slika u grupe. • nije kontrola, nego služi drugim kontrolama kao npr. ListView ili PictureBox • ColorDepth – Postavlja dubinu boje (broj dostupnih boja) za slike unutar kontrole. Ovo svojstvo treba biti postavljeno prije postavljanja svojstva Images jer se slike iz kolekcije Images nakon njegovog postavljanja brišu. • Images – Kolekcija slika organiziranih pomoću ImageList komponente. • ImageSize – Postavlja veličinu za slike unutar ImageList kontrole. • možemo ju koristiti i za slike na drugim kontrolama (Button, CheckBox, …) koje imaju svojstva ImegeList, ImageKey i ImageIndex. pictureBox1.Image = imageList1.Images[0];
WebBrowser kontrola • omogućuje pregled HTML datoteka i učitavanje sadržaja s interneta • možemo ju koristiti za pružanje online pomoći za našu aplikaciju, učitavanje i printanje dokumenata i za prikaz dokumenata u različitim formatima
WebBrowser kontrola – svojstva • AllowWebBrowserDrop – Određuje otvaraju li se dokumenti ispušteni u WebBrowser kontrolu automatski. • CanGoBack – Vraća može li WebBrowser kontrola navigirati unatrag. • CanGoForward – Vraća može li WebBrowser kontrola navigirati naprijed. • Document – Vraća trenutačni HTML dokument u WebBrowser kontroli. • DocumentStream – Vraća tijek (engl. stream) povezan s trenutačnim dokumentom. • DocumentText – Vraća tekstualnu reprezentaciju trenutačnog dokumenta. • DocumentTitle – Vraća naslov trenutačnog dokumenta. • DocumentType – Vraća tip trenutačnog dokumenta. • IsOffLine – Vraća je li sistem offline. • IsWebBrowserMenuEnabled – Određuje je li standardni Microsoft Internet Explorerov kontekstni izbornik omogućen za WebBrowser kontrolu. • ScriptErrorsSuppressed – Određuje jesu li skriptne greške koje se događaju u dokumentu potisnute ili se prikazuju u dijaloškom okviru. • ScrollBarsEnabled – Određuje jesu li za kontrolu omogućene trake za pomicanje. • URL – Dohvaća ili postavlja URL za trenutačni dokument. • WebBrowserShortcutsEnabled – Dohvaća ili postavlja jesu li standardni prečaci na tipkovnici Internet Explorera omogućeni za WebBrowser kontrolu.
WebBrowser kontrola – metode • GoBack() – Navigira na prethodnu stranicu u navigacijskoj povijesti ako je dostupna. • GoForward() – Navigira na sljedeću stranicu u navigacijskoj povijesti ako je dostupna. • GoHome() – Navigira na preglednikovu početnu stranicu. • GoSearch() – Navigira na preglednikovu stranicu za pretraživanje. • Navigate() – Navigira na specificirani URL. • Print() – Ispisuje trenutačni dokument. • ShowPageSetupDialog() – Prikazuje Internet Explorerov dijaloški okvir za postavljanje stranice. • ShowPrintDialog() – Prikazue Internet Explorerov dijaloški okvir za ispis. • ShowPrintPreviewDialog() – Prikazuje Internet Explorerov dijaloški okvir za pregled prije ispisa. • ShowPropertiesDialog() – Prikazuje Internet Explorerov dijaloški okvir za postavke. • ShowSaveAsDialog() – Prikazuje Internet Explorerov Spremi kao dijaloški okvir ako je dokument drugačijeg tipa od HTML stranice. • Stop() – Otkazuje procesirajuću navigaciju i zaustavlja dinamičke elemente stranice. webBrowser1.Navigate("www.math.hr"); webBrowser1.Navigate(@“d:\test.doc");
Zadatak 8 • Napravite formu s jednim horizontalnim SplitContainerom, s fiksnim prvim panelom, a na drugi stavimo WebBrowser kontrolu • u prvi panel stavimo gumove &Naprijed, Na&zad i &Idi (sa nekakvim sličicama) te sa TextBoxom u kojem je adresa na koju treba ići • napravite i da je moguće koristeći Alt tipku fokusirati gumbove
NotifyIcon komponenta • prikazuje se u sistemskoj traci (systemtray) • obično se koristi s aplikacijama koje se izvršavaju u pozadini • u balončićima (balloon tip) prikazuje informacije • možemo ju povezati s ContextMenuStrip ako želimo dopustiti korisnicima izvršavanje komandi iz njezinog kontekstnog izbornika desnim klikom miša • BalloonTipIcon – Ikona koja će biti prikazana u balončiću. Ovo svojstvo može biti postavljeno na vrijednost None – ne prikazuje ikonu ili na Info, Warning, ili Error. • BalloonTipText – Postavlja tekst koji će se prikazivati u balončiću. • BalloonTipTitle – Postavlja naslov balončića. • ContextMenuStrip – Dohvaća ili postavlja ContextMenuStrip komponentu povezanu s NotifyIcon komponentom. • Icon – Ikona koja se prikazuje u sistemskoj traci. • Text – Tekst koji se prikazuje kad se korisnik zaustavi mišem nad ikonom u sistemskoj traci. • Visible – Označava je li ikona vidljiva u sistemskoj traci. • prikazuje balončić 10 sekundi notifyIcon1.ShowBalloonTip(10);