Deoarece am aflat deja despre controalele vizuale, proprietățile și evenimentele lor, etc, este timpul să învățăm lista controalelor disponibile pentru proiectarea interfețelor grafice cu utilizatorul. Rețineți că lista este prezentată în ordine alfabetică, nu în ordinea importanței controalelor sau a frecvenței utilizării acestora.… Read more
Archive for 2017
Controale GUI
marți, septembrie 19th, 2017Evenimente Controale
duminică, septembrie 3rd, 2017Programarea bazată pe evenimente este o paradigmă de programare în care fluxul de execuție al unui program este determinat de evenimente cum ar fi acțiunile utilizatorilor (clicuri de mouse, apăsări de taste), ieșirile senzorilor sau mesajele altor programe, etc.
Deoarece C# este de asemenea un limbaj de programare bazat pe evenimente, astăzi vom învăța despre evenimente.… Read more
Proprietăți Controale
duminică, august 20th, 2017La un moment dat în lecțiile mele, discutam despre modul în care o clasă (obiect) poate avea proprietăți și metode. De asemenea, am spus și că de fapt controalele pe care le adăugăm la GUI-urile noastre sunt și ele obiecte (clase).… Read more
XAML
duminică, august 13th, 2017XAML (Extensible Application Markup Language) este limbajul din spatele prezentării vizuale a unei aplicații dezvoltată în Microsoft Expression Blend, la fel cum HTML este limbajul din spatele prezentării vizuale a unei pagini Web. Deși nu este scopul acestui site să explice XAML și deși programatorii pot dezvolta interfața unui program aproape în întregime fără a cunoaște XAML, în această lecție voi vorbi pe scurt despre ce este XAML, cum arată, ce face și cum putem să-l folosim.… Read more
Interfața Grafică cu Utilizatorul (GUI)
joi, august 10th, 2017Așa cum am explicat în această lecție, vom crea un nou proiect, dar de data aceasta nu vom folosi un șablon de aplicație pentru consolă, ci mai degrabă unul pentru WPF, în scopul creerii unui program cu interfață grafică (GUI). După cum am explicat în lecția de ieri, există mai multe modalități prin care putem crea programe GUI, dar unele dintre ele sunt mai grele, iar altele, depășite.… Read more
WPF
joi, august 3rd, 2017În trecut, în zilele de aur ale programării preistorice (~ anii ’80), programatorii scriau programe care afișau doar text. Imaginile grafice erau rare și urâte, iar majoritatea programelor de calculator erau cat se poate de simple. Iată o captură de ecran a Lotus 123, un program de calcul tabelar utilizat pentru job-uri financiare, foarte utilizat în anii ’80:
Până în acest moment, toate lecțiile pe care le-am predat au fost exemplificate folosind aceeași interfața linie de comandă (CLI).… Read more
Namespace
miercuri, august 2nd, 2017În OOP, namespace-urile sunt containere pentru un grup de clase care au un context comun sau sunt clasificate prin funcționalitate comună. Namespace-urile nu au niciun fel de funcționalitate și nu este obligatoriu să le folosiți. Cu toate acestea, ele oferă câteva avantaje, cel mai important fiind abilitatea de a sorta și grupa codul în unități logice.… Read more
Bit mask și atributul de enumerări Flags
duminică, iulie 16th, 2017Majoritatea programatorilor folosesc enumerările doar pentru a putea aplica un set predefinit de opțiuni din care utilizatorii pot alege. Cu toate acestea, enumerările au un dezavantaj major: pot deține o singură valoare la un moment dat. Să presupunem că avem următorul cod:
În acest caz, specificarea faptului că dorim să avem o direcție spre stânga pare OK.… Read more
Enumerări
duminică, iulie 16th, 2017Constante
sâmbătă, iulie 1st, 2017La fel ca și constantele din matematică, C# definește câmpuri speciale de clase numite constante. Așa cum indică și denumirea lor, odată declarate și inițializate, constantele își mențin valorile, interzicând modificarea lor ulterioară.
Există două tipuri de constante:
- Constantele pentru care valoarea este stabilită în timpul compilării (constante de timp de compilare)
- Constantele care au valoarea lor setată în timpul execuției (constante de timp de execuție)
Constantele de timp de compilare sunt declarate folosind modificatorul C# const:
1 |
[<modificatori_acces>] const <tip> <nume>; |
Un secret pe care nu mulți programatori C# îl știu este acela că de fapt constantele de timp de compilare sunt câmpuri statice, chiar dacă acestea nu conțin cuvântul cheie static, și compilatorul interzice utilizarea sa în declarație.… Read more