Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe...

17
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

Transcript of Programarea Aplicațiilor - cristianciureaAplicație de tip Paint – desenare cu mouse-ul pe...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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