07_cs

Embed Size (px)

Citation preview

  • 8/18/2019 07_cs

    1/12

    WINDOWS FORMS APPLICATION

    Kreiranje novog projekta tipa Windows Forms Application se bira pri izboru New Project, pase automatski kreira sistemska forma. istemski imenski prostor koji sadr!i sve osnovne klasekoje koristimo u Windows aplikacijama je System.Windows.Forms . Njegove dve osnovne

    klase su "ontrol i Form. Klasa koju programer defini#e pri kreiranju nove aplikacijenasle$ena je od sistemske klase Form, #to zna%i da sadr!i sva njena svojstva i metode.&rafi%ki ona predstavlja prozor u kome se izvr#ava aplikacija 'slika (). Na nju se dodajusistemske kontrole koje su nasle$ene od klase "ontrol.

    Slika 1. I!led "orme #(*Forma, +*oolbo-, *olution /-plorer, 0*Properties)

     Naj%e#1e kori#1ena svojstva klase Form su slede1a2Name * ime instance klase Form $%&t * tekst ispisan u naslovnoj liniji formeLe"t i $'( ) koordinate polo!aja levog gornjeg ugla forme u aktivnoj rezoluciji ekrana*a+kColor ) boja pozadine formeWidt, ) #irina forme-ei!,t ) visina formeFont ) vrsta slova 'font) kori#1ena za tekstForm*orderStyle ) defini#e izgled okvira '345 67 pode#eno na izable, mogu1a je promenaveli%ine forme, dok Fi&edDialo! onemogu1ava promenu veli%ine forme)Ma&simie*o& * ako je vrednost tre, mogu1e je formu maksimizirati pomo1u dugmeta nanaslovnoj liniji, u suprotnom nije mogu1eMinimie*o&  * ako je vrednost tre, mogu1e je formu minimizirati pomo1u dugmeta na

    naslovnoj liniji, u suprotnom nije mogu1eMa&immSie * maksimalna dozvoljena veli%ina forme

    1

    2

    1

    3

    4

  • 8/18/2019 07_cs

    2/12

  • 8/18/2019 07_cs

    3/12

    Com4o*o& * kontrola koja us sebi objedinjuje neke mogu1nosti kontrola Te&t*o& i List*o&: poput List*o&*a sadr!i listu stavki, ali se mo!e izabrati samo jedna: omogu1ava uno#enjateksta kao i Te&t*o&:

    6ro(*o& * kontrola koja omogu1ava grupisanje vi#e kontrola u jednu celinu: naj%e#1e sekoristi u kombinaciji sa Radio*tton: u okviru jednog 6ro(*o&  * 3 mo!e biti ozna%ennajvi#e jedan Radio*tton: 6ro(*o&  se %esto koristi za objedinjavanje kontrola kojeistovremeno treba '2na4led) ili onemogu1iti, odnosno koje istovremeno treba prikazati'7isi4le): ili skratiti na formi.

    Pi+tre*o& * kontrola za prikazivanje slike 'svojstvo ima!e).

    vaka ta%ka '(iksel) na ekranu ima koordinate svog polo!aja. Po%etak koordinatnog sistema je ta%ka '?,?) koja predstavlja gornji levi ugao ekrana. Koordinatni sistem ima dve ose. @ osa je 9orizontalna i vrednost - koordinate raste nadesno. osa je vertikalna i vrednost B

    koordinate raste nadole. Crednosti koordinata su uvek pozitivni brojevi. vaka kontrola imasvoj lokalni koordinatni sistem koji je organizovan na isti na%in, tj. koordinate gornjeg levogugla kontrole su '?,?).Kontrole imaju svoj polo!aj na formi na kojoj su postavljene. Polo!aj jedne kontrole sedefini#e koordinatama njenog gornjeg levog temena u koordinatnom sistemu forme. vojstvoTo( predstavlja udeljenost gornje ivice kontrole od vr9a, a Le"t udaljenost leve ivice kontroleod leve ivice prozora. Celi%ina kontrole je tako$e izra!ena brojem piksela. vojstvo Widt, je#irina kontrole i predstavlja broj piksela po 9orizontali od leve do desne ivice kontrole, a-ei!,t je visina kontrole.Do!emo podesiti da se pri promeni veli%ine prozora menja veli%ina kontrole. Kori#1enjemsvojstva kontrole An+,or, defini#emo za koje ivice prozora 'To(8 *ottom8 Le"t8 Ri!,t) je;pri%vr#1ena; ta kontrola. Na pr. ako smo kontrolu pri%vrstili za levu i desnu ivicu prozora, pri

     promeni #irine prozora dolazi do promene #irine kontrole.vojstvo Do+k  defini#e da li je kontrola zalepljena uz neku ivicu prozora ' Le"t8 Ri!,t8 To(8*ttom), du! svi9 ivica 'Fill), ili nije zalepljena 'None). Ako je kontrole zalepljena uz nekuivicu prozora, ona automatski menja svoju veli%inu da bi pokrila tu ivicu. Na primer, ako jekontrola zalepljena uz donju ivicu prozora, pri promeni #irine prozora i njena #irina se menja,tako da kontrola popunjava celu donju ivicu prozora.Crednost svojstva 2na4led mo!e biti tre ili "alse. 8koliko je vrednost tre, korisnik mo!e

     pristupiti kontroli 'npr. korisnik mo!e da klikne na dugme ili da unese tekst u polje za unosteksta), u suprotnom ne mo!e. vojstvo 7isi4le  tako$e ima dve mogu1e vrednosti, tre  i

    "alse, i odre$uje vidljivost kontrole pri izvr#avanju aplikacije.>oja plana kontrole, tj. boja slova na kontroli i boja pozadine kontrole mogu se menjati promenom vrednosti svojstava ForeColor i *a+kColor.

    Ta4ela 1. Na9:e;

  • 8/18/2019 07_cs

    4/12

    Ako se postavi na false nemogu1 je unos.ForeColor >oja pozadine kontrole-ei!,t =astojanje od vr9a do dna kontroleLe"t =astojanje od leve ivice kontrole do leve ivice forme.Name Eme kontrole. Koristi se za referenciranje kontrole u kodu

    Parent =oditelj kontroleRi!,t 8daljenost desne ivice kontrole u odnosu na levu ivicu formeTa4Inde& >roj koji kontrola ima u redosledu tabova u formiTa4Sto(

  • 8/18/2019 07_cs

    5/12

     provera valjanosti zavr#ena.7alidatin! Pojavljuje se kada je na kontroli postavljeno svojstvo "ausesCalidation na

    true. Kontrola %ija se valjanost proverava je kotrola koja gubi fokus, a neona koja je u centru.

    *tton kontrole #D!miutton koriste se klase izvedene iz System.Windows.Forms.*tton*ase tako da je mogu1e koristiti klase koje su ovde definisane. 8 namespace*uBstem.Windows.Forms  su definisane tri kontrole iz >utton>ase i to2 >utton, "9eck>o- i=adio>utton. Prvo 1emo objasniti standardnu kontrolu >utton 'dugme u obliku

     pravougaonika). >utton kontrola se naj%e#1e koristi u slede1a tri slu%aja2(. Ha zatvaranje dijaloga 'npr.

  • 8/18/2019 07_cs

    6/12

    using System.Data;using System.Drawing;

    using System.Linq;using System.Text;

    using System.Windows.Forms;

    namespace WindowsFormspplication!"

      pu#lic partial class Form! $ Form

      "  pu#lic Form!%&

      "  'nitiali(eComponent%&;

      )

      pri*ate *oid #utton!+Clic,%o#-ect sender /*entrgs e&  "

      Text 0 12lga1; 33Doda-e se duplim ,li,om na #utton!  )

      pri*ate *oid #utton4+Clic,%o#-ect sender /*entrgs e&  "  Text 0 15istic1; 33Doda-e se duplim ,li,om na #utton4

      )

      pri*ate *oid #utton6+Clic,%o#-ect sender /*entrgs e&  "

      pplication./xit%&; 33Doda-e se duplim ,li,om na #utton6  )

      ))

    Automatski generisan kod u Form1.Desi!ner.+s 'u olution /-plorer) je slede1i2namespace WindowsFormspplication!"

      partial class Form!

      "  333 7summary8

      333 5equired designer *aria#le.  333 73summary8

      pri*ate System.ComponentModel.'Container components 0 null;

      333 7summary8  333 Clean up any resources #eing used.

      333 73summary8  333 7param name01disposing18true i9 managed resources s:ould #e disposed;

    ot:erwise 9alse.73param8  protected o*erride *oid Dispose%#ool disposing&

      "  i9 %disposing %components

  • 8/18/2019 07_cs

    7/12

      pri*ate *oid 'nitiali(eComponent%&  "

      t:is.#utton! 0 new System.Windows.Forms.?utton%&;  t:is.#utton4 0 new System.Windows.Forms.?utton%&;

      t:is.#utton6 0 new System.Windows.Forms.?utton%&;  t:is.SuspendLayout%&;

      3333 #utton!

      33

    t:is.#utton!.Location 0 new System.Drawing.@oint%4! AB&;  t:is.#utton!.ame 0 1#utton!1;

      t:is.#utton!.Si(e 0 new System.Drawing.Si(e%E 46&;  t:is.#utton!.Ta#'ndex 0 ;

      t:is.#utton!.Text 0 1'me1;  t:is.#utton!.seHisualStyle?ac,Color 0 true;

      t:is.#utton!.Clic, I0 new System./*entJandler%t:is.#utton!+Clic,&;  33

    33 #utton4  33

    t:is.#utton4.Location 0 new System.Drawing.@oint%!BE AB&;

      t:is.#utton4.ame 0 1#utton41;  t:is.#utton4.Si(e 0 new System.Drawing.Si(e%E 46&;  t:is.#utton4.Ta#'ndex 0 !;

      t:is.#utton4.Text 0 1@re(ime1;  t:is.#utton4.seHisualStyle?ac,Color 0 true;

      t:is.#utton4.Clic, I0 new System./*entJandler%t:is.#utton4+Clic,&;  33

    33 #utton6  33

    t:is.#utton6.Location 0 new System.Drawing.@oint%KE E&;  t:is.#utton6.ame 0 1#utton61;

      t:is.#utton6.Si(e 0 new System.Drawing.Si(e%E 46&;  t:is.#utton6.Ta#'ndex 0 4;

      t:is.#utton6.Text 0 121;  t:is.#utton6.seHisualStyle?ac,Color 0 true;

      t:is.#utton6.Clic, I0 new System./*entJandler%t:is.#utton6+Clic,&;  33

    33 Form!  33

    t:is.utoScaleDimensions 0 new System.Drawing.Si(eF%BF !6F&;  t:is.utoScaleMode 0 System.Windows.Forms.utoScaleMode.Font;

      t:is.ClientSi(e 0 new System.Drawing.Si(e%4A !4A&;  t:is.Controls.dd%t:is.#utton6&;

      t:is.Controls.dd%t:is.#utton4&;  t:is.Controls.dd%t:is.#utton!&;

      t:is.ame 0 1Form!1;

      t:is.Text 0 1Form!1;  t:is.5esumeLayout%9alse&;

      )

      =endregion

      pri*ate System.Windows.Forms.?utton #utton!;  pri*ate System.Windows.Forms.?utton #utton4;

      pri*ate System.Windows.Forms.?utton #utton6;  )

    )

    7

  • 8/18/2019 07_cs

    8/12

    La4el i LinkLa4el kontrole

    Kontrola Label je naj%e#1e kori#1ena kontrola od svi9.

  • 8/18/2019 07_cs

    9/12

    koristi. akoje mogu1e da kontrola nikada ne bude u toku zbivanja.C,ara+terCasin! Crednost koja odre$uje da li 1e e-t>o- promeniti slova u mala ili

    velika za uneti tekst. Dogu1a su tri slu%aja2 Low*celokupan tekst koji je unet se konvertuje u mala slova, Normal*ne menja se uneti tekst i8pper*celokupan unet tekst se konvertuje u velika slova.

    Ma&Len!t, Crednost koja odre$uje maksimalnu du!inu, u karakterima, unetogteksta u e-t>o-. Postaviti vrednost na nulu ukoliko se !eli ograni%ititekst na raspolo!ivu memoriju

    Mltiline Do!e se prikazati da postoji mogu1nost unosa vi#e redova teksta.roj znakova selektovani9 u tekstu. Ako je ova vrednost postavljena

    na ve1u od ukupnog broja karaktera u tekstu, tada se resetuje sakontrolom da ukupan broj znakova se umanji za vrednostelectiontart.

    Sele+tionStart Po%etak selektovanog teksta u e-t>o-*u.WordWra( o- sa vi#e linija teksta mora automatski ra#iriti

    razmak izme$u slova ako linja prelazi #irinu kontrole.

    Te&t*o& do!a>a9i

    o-, bez obzira o kakvim promena je re%.

    9

  • 8/18/2019 07_cs

    10/12

    Primer 5. Napisati aplikaciju za sabiranje dva cela broja a i b. Crednosti uneti kori#1enjeme-t>o- kontrola. Kreirati >utton za sabiranje dva uneta broja. 8 re#avanju aplikacije

     potrebno je kreirati jednu kontrolu >utton, tri kontrole Label i dva e-t>o-*a.

    Form1.cs

    using System;

    using System.Collections.Generic;using System.ComponentModel;

    using System.Data;using System.Drawing;

    using System.Linq;using System.Text;

    using System.Windows.Forms;

    namespace WindowsFormspplication!

    "  pu#lic partial class Form! $ Form

      "  pu#lic Form!%&

      "  'nitiali(eComponent%&;

      )

      pri*ate *oid #utton!+Clic,%o#-ect sender /*entrgs e&  "

      int a #; 33,od ,o-i unosimo  a 0 Con*ert.To'nt64%text?ox!.Text&;

      # 0 Con*ert.To'nt64%text?ox4.Text&;  la#el6.Text 0 Con*ert.ToString%a I #&;

    )

      ))

    Primer ?.  Napisati konzolnu aplikaciju za unos kateta pravouglog trougla i izra%unavanje9ipotenuze, obima i povr#ine trougla na osnovu kateta.

    using System;using System.Collections.Generic;

    using System.ComponentModel;using System.Data;

    using System.Drawing;using System.Linq;

    using System.Text;using System.Windows.Forms;

    namespace WindowsFormspplication!

    "  pu#lic partial class Form! $ Form

      "  pu#lic Form!%&

      "  'nitiali(eComponent%&;

      )

      pri*ate *oid #utton!+Clic,%o#-ect sender /*entrgs e&

      "  dou#le a # c 2 @;

    10

  • 8/18/2019 07_cs

    11/12

      a 0 Con*ert.ToDou#le%text?ox!.Text&;  # 0 Con*ert.ToDou#le%text?ox4.Text&;

      c 0 Mat:.Sqrt%a N a I # N #&;  la#elA.Text 0 Con*ert.ToString%c&;

      2 0 a I # I c;  @ 0 %a N #& 3 4;

      la#el.Text 0 Con*ert.ToString%2&;  la#el.Text 0 Con*ert.ToString%@&;

      )

      ))

    Primer @. Napisati Windows aplikaciju za kreiranje forme na kojoj se nalaze kontrole za unos broja n i izra%unavanje i ispis faktorijela tog broja. Kreirati potrebne labele, kontrolu za unos idugme koje 1e prora%unavati faktorijel unetog broja.

    using System;using System.Collections.Generic;

    using System.ComponentModel;using System.Data;

    using System.Drawing;using System.Linq;

    using System.Text;using System.Windows.Forms;

    namespace Fa,tori-el

    "  pu#lic partial class Form! $ Form

      "  pu#lic Form!%&

      "

      'nitiali(eComponent%&;  )

      pri*ate *oid #utton!+Clic,%o#-ect sender /*entrgs e&  "

      int n;  int 9act 0 !;

      n 0 Con*ert.To'nt64%text?ox!.Text&;  9or %int i 0 !; i 70 n; iII&

      9act N0 i;  la#el4.Text 0 Con*ert.ToString%9act&;

      )

      ))

    Primer . Napisati Windows aplikaciju za kreiranje forme na kojoj se nalaze kontrole za unosdva broja - i B. Koriste1i dugeme =azmeni, razmeniti vrednosti promenljivi9 koriste1i novelabele za ispis .

    using System;

    using System.Collections.Generic;using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;using System.Text;

    using System.Windows.Forms;

    11

  • 8/18/2019 07_cs

    12/12