![Page 1: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/1.jpg)
Programarea Aplicațiilor Windows – curs 4
Lect. dr. Cristian CIUREA Departamentul de Informatică și Cibernetică Economică
Academia de Studii Economice București [email protected]
1
![Page 2: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/2.jpg)
Agenda
2
1. Gestiune evenimente generate de mouse
2. Evenimente generate de tastatură
3. Acces la câmpuri prin acceleratori
4. Gestiunea unitară a controalelor
5. Transfer date între formulare
![Page 3: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/3.jpg)
Evenimente generate de mouse
3
Controalele aflate pe un formular interceptează activitatea mouse-ului dacă au proprietățile “Enabled” și “Visible” setate pe “true”.
this.Enabled = true;
this.Visible = true;
![Page 4: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/4.jpg)
Evenimente generate de mouse
4
• MouseDown, corespunzându-i funcția de tratare “OnMouseDown”, moștenită din clasa “Control”;
protected override void OnMouseDown
(MouseEventArgs e)
{
base.OnMouseDown(e);
}
![Page 5: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/5.jpg)
Evenimente generate de mouse
5
• MouseUp, corespunzându-i funcția de tratare “OnMouseUp”;
protected override void OnMouseUp
(MouseEventArgs e)
{
base.OnMouseUp(e);
}
![Page 6: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/6.jpg)
Evenimente generate de mouse
6
• MouseMove, corespunzându-i funcția de tratare “OnMouseMove”;
protected override void OnMouseMove
(MouseEventArgs e)
{
base.OnMouseMove(e);
}
![Page 7: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/7.jpg)
Evenimente generate de mouse
7
• MouseWheel, corespunzându-i funcția de tratare “OnMouseWheel”.
protected override void OnMouseWheel
(MouseEventArgs e)
{
base.OnMouseWheel(e);
}
![Page 8: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/8.jpg)
Evenimente generate de mouse
8
Fiecare funcție de tratare a unui eveniment generat de mouse conține un parametru de tip “MouseEventArgs” ce furnizează informații despre evenimentul produs: • X și Y, coordonatele mouse-ului la
momentul producerii evenimentului; • MouseButtons, indică ce butoane ale
mouse-ului au fost acționate; • Clicks, indică dacă s-a efectuat single
sau double click ; • Delta, indică sensul și dimensiunea
deplasării rotiței mouse-ului.
![Page 9: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/9.jpg)
Evenimente generate de mouse
9
Aplicație de tip Paint – desenare cu mouse-ul pe formular
![Page 10: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/10.jpg)
Evenimente generate de tastatură
10
Există trei evenimente legate de folosirea tastaturii: • KeyDown • KeyPress • KeyUp Evenimentele KeyDown si KeyUp se declanșează la apăsarea, respectiv relaxarea unei taste, iar evenimentul KeyPress se produce la apăsarea unei taste, dar după KeyDown și numai dacă apăsarea tastei generează o valoare de tip caracter (nu și în cazul apăsării tastelor funcționale).
![Page 11: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/11.jpg)
Evenimente generate de tastatură
11
Blocul de argumente al funcției de tratare este de tip “KeyPressEventArgs”, care are următoarele proprietăți:
• Handled, care precizează dacă evenimentul se consideră deja tratat (true/false);
• KeyChar, care specifică caracterul aferent tastei apăsate ce a produs evenimentul.
![Page 12: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/12.jpg)
Evenimente generate de tastatură
12
Aplicație TextBox numeric – validare introducere date
![Page 13: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/13.jpg)
Acces la câmpuri prin acceleratori
13
Acceleratorii reprezintă shortcut-uri aferente diverselor butoane sau opțiuni din meniurile unei aplicații Windows, astfel încât funcțiile aferente evenimentelor Click asociate controalelor pentru care s-au definit acceleratorii să se apeleze prin apăsarea tastei corespunzătoare.
![Page 14: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/14.jpg)
Acces la câmpuri prin acceleratori
14
Definirea unui accelerator se face prin introducerea semnului „&” în cadrul proprietății Text pentru setarea denumirii aferente controlului respectiv.
De exemplu, pe opțiunea File din cadrul unui meniu, pentru a permite apelul respectivei opțiuni prin apăsarea tastelor Alt și apoi F, proprietatea Text va avea valoarea &File.
![Page 15: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/15.jpg)
Gestiunea unitară a controalelor
15
Pentru tratarea unitară a anumitor controale de pe formular (ex. TextBox), se recomandă utilizarea masivelor de referințe sau a colecțiilor.
ArrayList listTextBox = new ArrayList();
listTextBox.Add(tbDenumire);
listTextBox.Add(tbPret);
listTextBox.Add(tbCantitate);
listTextBox.Add(tbTotal);
![Page 16: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/16.jpg)
Transfer date între formulare
16
Form1: ArrayList listProd = new ArrayList();
Form2 frm = new Form2(listProd);
frm.ShowDialog();
Form2: ArrayList lista2;
public Form2(ArrayList lista1)
{
InitializeComponent();
lista2 = lista1;
}
![Page 17: Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe formular Evenimente generate de tastatur ă 10 Există trei evenimente legate de folosirea](https://reader030.vdocuments.mx/reader030/viewer/2022040208/5e26ea97e24c35565a3cb063/html5/thumbnails/17.jpg)
Bibliografie
17
[1] I. Smeureanu, M. Dârdală, A. Reveiu – Visual C# .NET, Editura CISON, București, 2004.
[2] C. Petzold – Programming Microsoft Windows with C#, Microsoft Press, 2002.
[3] L. O’Brien, B. Eckel – Thinking in C#, Prentice Hall.
[4] J. Richter – Applied Microsoft .NET Framework Programming, Microsoft Press, 2002.
[5] http://acs.ase.ro/paw