98-361: Aplicații desktop

Lecția despre aplicațiile desktop cuprinde trei părți: aplicațiile tip form, aplicațiile console și Windows Service.

Aplicații desktop tip Windows Form

Windows form este aplicația cea mai de bază pe care o poți crea în Visual Studio care să aibă și interfață.

desk

Acesta este un form, după cum o să vedeți fiecare control din Form este un obiect. Inclusiv form-ul în sine. După cum am mai zis în trecut un obiect este caracterizat prin faptul că are proprietăți în primul rând și eventual metode și event-uri la care răspunde. Mai jos vedeți proprietăți obiectului meu Form1.

desk2

De reținut următoarele proprietăți:

Name se referă la numele obiectului sub forma de cum o să îl pot apela eu mai târziu în program. Name nu se referă la ceea ce fa afișa obiectul meu. Acea proprietate se numește Text sau Content depinzând de caz. Multe persoane au ideea greșită că Name-ul o să schimbe afișajul.
Anchor se referă la locul față de care ancorez obiectul meu. Dacă vreau să îl ancorez față de una dintre laturi sau față ce centrl absolut al formului.
Mai sunt multe proprietăți și diferă de la un control la altul. Cel mai bine este să vă familiarizați cu ele încercând să le modificați parametrii și să vedeți ce se întâmplă. Experimentați cu Dock, Location, cu diferite comportamente (Behavior) gen AllowDrop, Enabled, Visibility etc.

desk3

Margin se referă la poziția pe care o să o aibă controlul relativ față de containerul din care face parte. Margin în general va fi sub forma (x,y,z,w), dar îl puteți întâlni și sub forma de (x,y). Modul cum se calculează este următorul:
x- marginea din stânga
y- marginea de sus
z- marginea din dreapta
w- marginea de jos

Toate controalele pe care le are Visual Studio le găsiți în toolbar-ul Toolbox sub categoria All Windows Forms. Experimentați mai ales cu următoarele:

  • Button
  • Label
  • TextBox
  • GroupBox
  • CheckBox
  • CheckedListBox
  • MenuStrip
  • ListBox
  • ListView
  • RadioButton
  • ProgressBar
  • Timer

Orice control în Windows Forms poate să răspundă la o multitudine de eventuri. Acestea le găsesc la secțiunea properties din cadrul obiectului. Cele mai comune event-uri sunt: Click, TextChanged, Move.

desk4 De reținut este ordinea cum răspunde Visual Studio în cazul în care apăs un buton și am declarat câte un event pentru următoarele trei categorii:

  • KeyDown: Se activează în momentul când utilizatorul a pus degetul pe tastă și a apăsat-o
  • KeyPress: Se întâmplă când o tastă este apăsată și după îi dai drumul, dar event-ul este activat pe toată durata apăsării.
  • KeyUp: Se întâmplă când ai dat drumul unei taste.

Chiar aceasta este și ordinea în care se desfășoară event-urile în cazul apăsării lor.

Un event îl creez căutând numele comenzii la care vreau să răspundă controlul meu și dând un nume comenzii. Click dreapta pe numele event-ului și mi se crează event-ul în c#.

De aici pot să mă joc cu aplicația mea, după cum am specificat totul este un obiect în c# astfel că label-ul meu care poartă numele de label1 (default name în win form) are printre proprietățile sale text. Așa că pot să îi dau ceea ce am notat eu în textbox + valoarea string-ului S.

desk5

Alte lucruri pe care ar trebui să le rețineți se referă la interfața cu documente multiple (Multiple Document Interface – MDI) și interfația cu un singur document (Single Document Interface – SDI).

Ca idee gândițivă la browser-ul Chrome, are SDI în momentul când il deschid inițial, dar când am mai multe tab-uri deschise devine un MDI.

 

Console application

Aplicația în consolă este un program făcut să ruleze cu o interfață doar text.

Folosit în general pentru a învăța concepte despre programare sau pentru a testa diferite lucruri.

Pentru a tipări ceva în consolă apelez Console.WriteLine(“”); sau dacă vreau să cer un input Console.ReadLine();. Atenție toate caraterele citite de la tastatură sunt string-uri, eu trebuie mai departe să le transform în char, int sau double în funcție de caz.

Mai jos vedeți un demo în acțiune: Salut utilizatorul, iau un număr de la utilizator x pe care-l convertesc în int32 și îl folosesc mai departe ca latură a unui array (vector). Mai departe trec printr-un for în care cer date de la utilizator pe care le convertesc în int și după le afișez.

desk6

Aplicațiile tip console le mai pot folosi când nu am de făcut un proiect care fie nu necesită interfață fie necesită elemente simpliste.

 

Aplicațiile Windows Service

Serviciile windows, cunoscute până de curând ca servicii NT te lasă să creezi aplicații care rulează pe termin lung în background în propria sesiunea Windows. Aceste aplicații pornesc automat când pornește OS-ul pot fi puse pe hold, repornite și în general nu au interfață astfel că nu interacționează cu utilizatorul.

Aceste servicii sunt ideale pentru servere care au nevoie de funcționalitate pe termen lung și care nu interacționează cu diferiții utilizatori care îl folosesc.

Exemplul cel mai simplu de o aplicație Windows Service este antivirusul. Acesta lucreaz în background, pornește în același timp cu os-ul și are interfață minimă.

 




Leave a Comment

Blog

Recent posts