NET Framework Programare vizual 1 Teme abordate 3
. NET Framework Programare vizuală 1
Teme abordate 3. Concepte de bază ale programării vizuale Mediul de dezvoltare Visual C#- interfata Proprietati si evenimente 4. Formulare 1. 2. 2
1. Concepte de bază ale programării vizuale Spunem că o aplicaţie este vizuală dacă dispune de o interfaţă grafică sugestivă şi pune la dispoziţia utilizatorului instrumente specifice de utilizare (drag, click, etc. ) Principiile proiectării interfeţelor. Simplitatea Poziţia controalelor Consistenţa Estetica Programarea orientata pe evenimente 3
2. Mediul de dezvoltare Visual C# Mediul de dezvoltare Microsoft Visual C# dispune de instrumente specializate de proiectare, ceea ce permite crearea aplicaţiilor în mod interactiv, rapid şi uşor. Creare: File New Project; template Windows Forms Application. 4
2. Mediul de dezvoltare Visual C# (prezentarea interfeţei) Formularul – Form 1. cs (accesibil din Solution Explorer ->Form. cs>View Designer Toolbox – Caseta cu unelte (accesibil din View ->Other Windows>Toolbox) 5
3. Proprietati si evenimente Moduri de lucru cu controalele modul Designer (Shift+F 7) pentru a plasa noi obiecte, a le stabili proprietăţile etc (fereastra Properties) Modul Code (F 7) – pentru scrierea codului asociat - Proprietati Evenimente 6
3. Proprietati si evenimente - proprietati Proprietatea Anchor Back. Color Bottom Dock Enabled Fore. Color Height Left Tab. Stop Descrierea proprietăţii se referă la posibilitatea de a ancora controlul faţă de o margine (sau toate) permite stabilirea culorii de fundal a controlului permite stabilirea distanţei dintre marginea de sus a ferestrei şi control ataşează controlul la una dintre marginile ferestrei permite controlului să recepţioneze evenimente de la utilizator permite stabilirea culorii textului permite definirea înălţimii controlului permite stabilirea distanţei dintre marginea din stânga a ferestrei şi marginea stânga a controlului permite denumirea controlului pentru a-l putea mai uşor vizualiza şi manipula în codul sursă părintele controlului permite stabilirea distanţei dintre marginea din dreapta a ferestrei şi marginea din dreapta a controlului prin numărul de ordine care i se ataşează se stabileşte ordinea activării controlului la apăsarea tastei TAB permite sau nu ca respectivul control să fie activat prin apăsarea tastei TAB Tag se referă la un şir de caractere pe care controlul îl poate stoca în interiorul său Top Visible permite stabilirea distanţei dintre marginea de sus a ferestrei şi marginea de sus a controlului stabileşte dacă respectivul control, care există în fereastră, este (TRUE) sau nu vizibil Width stabileşte lăţimea controlului Name Parent Right Tab. Index 7
3. Proprietati si evenimente - Evenimente Evenimentul Click Double. Click Drag. Drop Drag. Enter Descrierea evenimentului se generează când se dă clic asupra unui control se generează când se dă dublu clic asupra unui control. Excepţie făcând Button asupra căruia nu se va putea face dublu clic, deoarece controlul acţionează la primul clic se genereazăla finalizarea lui drag and drop se generează atunci când obiectul, printr-un drag and drop, ajunge în interiorul controlului Drag. Leave se generează atunci când obiectul, printr-un drag and drop, ajunge să părăsească controlului Drag. Over se generează atunci când obiectul, printr-un drag and drop, ajunge deasupra controlului Key. Down Got. Focus se generează atunci când o tastă este apăsată în timp ce controlul este activ. Se va furniza codul ASCII al tastei apăsate. Se generează înainte de evenimentele Key. Press şi Key. Up se generează atunci când o tastă este apăsată în timp ce controlul este activ. Se va furniza codul de scanare al tastei apăsate. Se generează după Key. Down şi înainte de Key. Up se generează când o tastă este eliberată în timp ce controlul este activ. Se generează după Key. Down şi Key. Press se generează când controlul devine activ (se mai spune: când controlul primeşte input focusul) Lost. Focus se generează când controlul devine inactiv (se mai spune: când controlul pierde input focusul) Mouse. Down se generează când cursorul mouse-ului este deasupra controlului şi se apasă un buton al mouse-ului se generează când trecem cu mouse-ul deasupra controlului se geerează când mouse-ul este deasupra controlului şi eliberăm un buton al mouse-ului Key. Press Key. Up Mouse. Move Mouse. Up Paint Validated Validating se generează la desenarea controlului se generează când un control este pe cale să devină activ. Se generează după terminarea evenimentului Validating, indicând faptul că validarea controlului este completă se generează când un control este pe cale să devină activ 8
3. Proprietati si evenimente Moduri de lucru 1. Design time in fereastra de proprietati 2. Runtime scriere de cod Exemplu: this. Back. Color = Color. Red; Nume pentru controale: sugestie. Tip. Control 9
4. Formulare Proprietati uzuale Back. Color (tip Color. Nume. Culoare) Background. Image Size Text (string) Evenimente uzuale Click Load Exercitii! Tratati evenimentul click: - Afisati un mesaj sugestiv! - Schimbati culoarea de fond a formularului: daca este galben in verde, iar daca este verde, in galben. 10
5. Imagini - Picture. Box Proprietati uzuale Image Size. Mode Width Height Evenimente uzuale Click Exercitii! Tratati evenimentul click: - Schimbati dimensiunile imaginii – mica/mare. 11
6. Text static. Label si Link. Label 1. Label Proprietati uzuale Text (string) Font (tip font) Fore. Color (tip Color. Nume. Culoare) Visible (bool) Evenimente uzuale Click 2. Link. Label Proprietati uzuale Text (string) Link. Area: Start (int – pozitia de inceput a adresei in text) Link. Visited (bool) Evenimente uzuale Link. Clicked Deschidere link: System. Diagnostics. Process. Start(“adresa web”); Deschidere link: System. Diagnostics. Process. Start(“nume executabil”); Deschidere link: System. Diagnostics. Process. Start(“nume aplicatie”, “nume fisier deschis in aplicatie”); 12
7. Butoane a. Butoane de tip Push. Up - Button Proprietati uzuale Text (string) Font (tip font) Back. Color (tip Color. Nume. Culoare) Visible (bool) Enabled (bool) Left Top Evenimente uzuale Click Exercitii! Tratati evenimentul click: - Afisati un mesaj sugestiv! - Schimbati culoarea de fond a formularului: daca este galben in verde, iar daca este verde, in galben. - Modificati aleator pozitia butonului pe formular Indicatie: Random r = new Random(); variabila = r. Next(0, valoare. Maxima); 13
7. Butoane b. Butoane de selectie - Radio. Button Proprietati uzuale Text (string) Checked (bool) Evenimente uzuale Click Observatii: butoanele se grupeaza in Group. Box. Exercitii! Realizati un test cu patru raspunsuri posibile, dintre care unul singur este corect. In functie de raspuns, afiseaza mesajul corect/ incorect. Palariile Panama au fost create in: a) Panama b) Ecuador c) Mexic d) Egipt 14
7. Butoane c. Butoane de validare - Check. Box Proprietati uzuale Text (string) Checked (bool) Evenimente uzuale Click Exercitii! Realizati un test cu patru raspunsuri posibile, dintre care mai multe pot fi corecte: Afirmatii adevarate despre Razboiul de 100 de ani sunt: a) A durat 100 de ani b) A fost purtat intre Franta si Anglia c) Ioana d’Arc a fost eroina in acest razboi d) A inceput in 1337 15
8. Text dinamic – Text. Box, Rich. Text. Box Proprietati uzuale Text (string) Password. Char (string) Multiline (bool) pentru Rich. Text. Box Selection. Font Selection. Color Selection. Bullet (bool) Metode Evenimente uzuale Click Got. Focus Leave Text. Changed Exercitii Formular de introducere a numelui si prenumelui + mesaj de salut particularizat Copy() Paste() Minieditor de texte Cut() Indicatie: Tool. Strip Clear() Select() Undo(): pentru Rich. Text. Box Load. File(nume fisier rtf) Save. File(nume fisier, Rich. Text. Box. Stream. Type. Rich. Text) 16
9. Liste– List. Box, Combo. Box Proprietati uzuale Items Text – textul selectat Evenimente uzuale Click Got. Focus Leave Text. Changed Metode (pt Items) Insert(pozitie, “text”) Add(“text”) Add. Range() Remove(“text”) Remove. At(pozitie) 17
10. Meniuri - Menu. Strip Proprietati uzuale Text (string) Context. Menu Evenimente uzuale Click Exercitii! Realizati un editor de texte cu meniul urmator Fisier Nou Editare Copiere Decupare Lipeste 18
11. Operatii cu mai multe formulare Proprietati uzuale formulare Modal Dialog. Result Metode uzuale Activate() Close() Show. Dialog() Evenimente uzuale Closing Load 19
11. Operatii cu mai multe formulare Exemplu: Crearea unui formular nou - Se adauga un formular nou: Solution. Explorer -> Nume Aplicatie -> Add -> Windows Form (cu numele Form. Doi, de exemplu) a) Pentru afisare nemodala: - In formularul apelant se introduce codul de apel: Form. Doi f = new Form. Doi(); f. Show(); b) Pentru afisare modala: - In formularul apelat private string raspuns; public string Item { get {return raspuns; } } … variabila raspuns primeste valoare pe baza datelor din formularul apelat - In formularul apelant Form. Doi f = new Form. Doi(); f. Show. Dialog(); if(f. Item!=“”) //raspunsul primit din fisierul apelat … se prelucreaza raspunsul 20
12. Formulare predefinite 1. Message. Box. Show(“text mesaj”, “titlu fereastra”, tip. Buton, tip. Icon); tip. Buton: Message. Box. Buttons. Retry. Cancel Message. Box. Buttons. Abort. Retry. Ignore …… tip. Icon: Message. Box. Icon. Exclamation Message. Box. Icon. Error …. . Exercitiu Apel mesaj cu butoane de tip Yes, No si Cancel si icon de tip intrebare. Mesaj – Va place cursul? Titlul – Chestionar. 21
12. Formulare predefinite 2. Open. File. Dialog, Save. File. Dialog, Font. Dialog, Color. Dialog etc. Proprietati uzuale Title Filter (de exemplu=“Fisiere Rich Text (*. rtf) | *. rtf”) Afisare: if(formular. Predefinit. Show. Dialog() == System. Windows. Forms. Dialog. Result. tip. Raspuns) { cod care utilizaeaza datele din fereastra (formular. Predefinit. File sau. Font etc) } Obs tip raspuns: OK, No etc 22
4. Tema Formulare Scrieti aplicatia cu numele PV 1 prin care se modifica titlul formularului la realizarea unui click pe suprafata sa. 23
6. Tema Label si Link. Label Creati fisierul numere. txt, in folderul dumneavoastra. Scrieti aplicatia cu numele PV 2 care sa contina pe un formular - o eticheta cu textul Accesati ce va intereseaza! - Un link care sa permita accesul la www. ratb. ro - Un link care sa permita deschiderea fisierului mspaint. exe - Un link care sa permita deschiderea fisierului numere. txt in aplicatia notepad. exe 24
7. Tema Butoane Realizati un formular de introducere a optiunilor privind o excursie la Barcelona! 25
8. Tema Text dinamic Realizati un formular de introducere a datelor pentru realizarea unor operatii aritmetice! Facultativ – minieditor de texte (Rich. Text. Format) 26
8. Tema Text dinamic Realizati un formular de introducere a datelor pentru excursia din anul acesta 27
- Slides: 27