Sunteți pe pagina 1din 28

Unitatea de nvare 6 PROGRAMAREA N VB.

NET
_________________________________________________________________________________________________________________

UNITATEA DE NVARE 6
CLASE VIZUALE N VB.NET
___________________________________________________________________________

Cuprins
Obiectivele unitii de nvare 6
6.1. Construirea interfeei cu utilizatorul
Identificarea prioritilor utilizatorului
Interfaa cu utilizatorul
Tratarea evenimentelor
ntrebri
6.2. Clasa Form
Despre clasa Form
Proprietile clasei Form
Metodele clase Form
Evenimentele clasei Form
ntrebri
6.3. Clasa Control
Definirea controalelor
Proprietile clasei Control
Metodele clasei Control
Evenimentele clasei Control
ntrebri

Bibliografie Unitatea de nvare 6

1
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

OBIECTIVELE UNITII DE NVARE 6

nsuirea cunotinelor necesare pentru a nelege cum se construiete o interfa


profesional.

Cunoaterea proprietilor, metodelor i evenimentelor la care reacioneaz:


forma, controalele n general i cele mai utilizate controale vizuale.

Cunoaterea unor controale care nu sunt vizibile la execuie, ci acioneaz din


spatele scenei.

nsuirea deprinderilor necesare construirii de meniuri de dirijare i contextuale.

6.1. Construirea interfeei cu utilizatorul

Identificarea prioritilor utilizatorului

Din punctul de vedere al utilizatorului, partea cea mai important a unei aplicaii o constituie:
formularele
i
rapoartele
Interesul este mare att pentru aspectul n sine ct i pentru funcionalitatea ncorporat.

Interfaa cu utilizatorul

Interfaa cu utilizatorul reprezint acea parte a aplicaiei accesibil utilizatorului final prin
intermediul creia acesta decide modul de execuie a programului i interpreteaz rezultatele
prelucrrii automate a datelor.
Aa numita programare vizual a cristalizat n ultimii ani o serie de obiecte grafice standard
pe care le ntlnim n majoritatea aplicaiilor: butoane de comand, etichete, casete de text,
liste, casete de selecie, etc.
Sub mediul Windows, interfaa cu utilizatorul este conceput ca un sistem grafic de ferestre
(formulare), ce conin mai multe controale destinate interaciunii cu utilizatorul. n plus,
interfaa de tip Windows permite interceptarea i tratarea evenimentelor generate de
utilizator sau de sistem.
n VB.NET interfaa cu utilizatorul poate fi realizat:
n mod design (grafic): prin construirea formularelor, generarea controalelor vizuale n
forme, modificarea proprietilor n fereastra de proprieti i programarea acestora s
reacioneze la anumite evenimente.
2
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Pentru modificarea proprietilor se selecteaz obiectul i n fereastra Properties se selecteaz


proprietatea care trebuie modificat n prima coloan i se modific valoarea proprietii n
coloana din dreapta:
Exemplu cu Form1 selectat:

putem modifica limea i nlimea.


Vizualizarea proprietilor se poate face n dou moduri:
n ordinea alfabetic a denumirii proprietilor
sau
Grupat, pe diverse categorii sau grupe de proprieti
n funcie de opiunea selectat (butonul apsat):

pe categorii, alfabetic, fereastra de proprieti sau fereastra de evenimente


direct n codul surs, prin scrierea comenzilor care s genereze anumite controale, cu
valorile aferente proprietilor acestora i programarea evenimentelor la care s
reacioneze.
Pentru programarea evenimentelor n fereastra de cod din prima coloan se selecteaz
obiectul iar n coloana din dreapta evenimentul.

3
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Tratarea evenimentelor

Orice aplicaie Windows este capabil s intercepteze o serie de evenimente i pentru fiecare
eveniment, s execute anumite operaii. VB.NET ofer un set standard de evenimente ce sunt
recunoscute de orice obiect: Activate, Click, Move, Load, Resize, MouseMove, KeyPress,
etc.
Interceptarea evenimentelor se realizeaz prin intermediul unei proceduri, numit procedur
eveniment (event procedure). Antetul (sau semntura) unei proceduri eveniment conine:
o denumire care poate fi:
-

generat automat (prin selectarea obiectului i evenimentului) n fereastra de cod


i va avea numele format din: numeObiect_numeEveniment;

definit de utilizator.

Un set de parametrii, ncadrai ntre paranteze, care, la apariia evenimentului, vor


conine diferite date descriptive. Evenimentele standard presupun doi parametrii:
-

sender va conine obiectul surs al evenimentului;

e un parametru prin care este descris evenimentul interceptat. Tipul acestui


parametru este dependent de tipul evenimentului.

Clauza Handles care definete legtura dintre eveniment i procedur. Clauza


precizeaz obiectul suport i evenimentul aferent acestuia dup sintaxa: Handles
numeObiect.numeEveniment. Handles accept mai multe evenimente n declaraia sa,
separate prin virgul. Astfel, o procedur poate s rspund la mai multe evenimente,
recepionate chiar i de la obiecte diferite: Handles Obj1.Eveniment1,
Obj1.Eveniment2, Obj2.Eveniment1, etc.

4
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

ntrebri
1. Care este partea cea mai important a unei aplicaii din punctul de vedere al utilizatorului?
2. Ce reprezint interfaa cu utilizatorul?
3. Cum este conceput interfaa cu utilizatorul n mediul Windows?
4. Ce conine antetul (sau semntura) unei proceduri eveniment?
6.2. Clasa Form

Despre clasa Form

O aplicaie de tip Windows poate s conin mai multe formulare. Adugarea unui formular
n proiect se realizeaz prin opiunile: Project, Add Windows Form. Un formular este o clas
derivat din clasa de baz Form, spaiul de nume: System.Windows.Forms.
Toate proprietile, metodele i evenimentele unui formular sunt disponibile n codul surs,
iar o parte din ele sunt accesibile i n fereastra Properties.

Proprietile clasei Form

Cele mai utilizate proprieti sunt:


Name specific denumirea formularului;
BackColor permite setarea culorii de fundal a formularului;
BackgroundImage permite definirea imaginii de fundal a formularului;
Controls este o colecie ce conine toate controalele deinute de formular;
Cursor specific forma pe care o va lua pointer-ul mouse-lui (Default, WaitCursor,
Hand, etc.);
Font permite setarea fontului textului;
ForeColor permite setarea culorii textului;
FormBorderStyle indic tipul chenarului, care determin tipul formularului;
IsMdiContainer stabilete dac formularul este de tip MDI (multiple document
interface);
Location stabilete sau red coordonatele la care se afieaz forma (colul din stnga
sus);
MdiParent atribuie sau returneaz formularul printe MDI, dac formularul curent
este de tip child (copil);
Size stabilete sau red dimensiunea (limea i nlimea) n pixeli a formularului;
Text stabilete sau red titlul ferestrei;
5
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

TopMost setat pe True, va afia formularul n prim plan (deasupra celorlate);


Visible permite afiarea sau ascunderea formularului n timpul execuiei.

Metodele clase Form

Metodele clasei Form cele mai importante sunt:


Activate(): la apelare formularul devine activ deine controlul execuiei programului;
Close(): nchide formularul;
Dispose(): distruge formularul i elibereaz resursele ocupate de acesta;
Hide(): ascunde forma;
Refresh(): redeseneaz formularul i controalele coninute;
Show(): afieaz forma;
ShowDialog(): afieaz fereastra ca o fereastr de dialog (continuarea impune
nchiderea acestei ferestre luarea unei decizii).

Evenimentele clasei Form

Principalele evenimente a care poate reaciona clasa Form sunt:


Load este evenimentul declanat nainte ca formularul s se fie afiat prima dat;
Activated este declanat la activare;
Paint apare ori de cte ori se impune redesenarea formularului;
Resize declanat la fiecare redimensionare a ferestrei;
MouseEnter declanat la poziionarea mouse-lui n interiorul form-lui;
MoseLeave declanat n momentul n care mouse-ul prsete formularul;
MouseDown declanat la apsarea unui buton al mouse-lui;
MouseUp declanat la eliberarea unui buton al mouse-lui;
Move declanat la mutarea formularului;
Click declanat la efectuarea unui click n interiorul formularului;
FormClosing este un eveniment ce poate fi abandonat prin program i poate fi
declanat la nchidere;
FormClosed declanat dup nchiderea formularului.
Ordinea ctorva evenimente la deschidere:
- Resize;
- Load;
- Activated;
- Paint.
6
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Ordinea ctorva evenimente la nchidere:


- FormClosing;
- FormClosed;
- Disposed.
ntrebri
1. Care sunt principalele proprieti ale clasei Form?
2. Care sunt principalele metode ale clasei Form?
3. Care sunt principalele evenimente la care reacioneaz clasa Form?
4. Care este ordinea evenimentelor la deschiderea unui formular?
6.3. Clasa Control

Definirea controalelor

Adugarea unui control se poate face fie n modul grafic Designer fie direct prin cod.
n Designer, crearea unui control este posibil prin parcurgerea urmtoarelor etape:
Selectarea controlului n fereastra ToolBox;
Dublu click;
Poziionarea n formular i setarea proprietilor n fereastra Properties;
Prin cod, ataarea unui control la un formular se poate face n cadrul unei metode:
Se definete o variabil de tipul controlului respectiv;
Se iniializeaz variabila;
Se seteaz prin cod anumite proprieti ale obiectului;

n VB.NET toate controalele motenesc de la clasa Control, care implementeaz


funcionalitile de baz pentru preluarea i afiarea datelor.

Proprietile clasei Control

Cele mai utilizate proprieti sunt:


Name specific denumirea controlului;
BackColor permite setarea culorii de fundal a controlului;
Controls conine o colecie de controale deinute de controlul respectiv;
Cursor specific forma pe care o va lua pointer-ul mouse-lui (Default, WaitCursor,
Hand, etc.);
Enabled indic dac obiectul respectiv rspunde sau nu la interaciunea cu
utilizatorul;
7
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Font permite setarea fontului textului;


ForeColor permite setarea culorii textului;
Location (X, Y) stabilete sau red coordonatele la care se afieaz controlul (colul
din stnga sus);
Parent seteaz sau red containerul (formularul sau alt control) ce deine controlul
respectiv;
Size stabilete sau red dimensiunea (limea i nlimea) n pixeli a controlului;
TabIndex conine un numr care descrie poziia controlului n parcurgerea tuturor
controalelor din formular, cu ajutorul tastei Tab. Implicit controalele sunt parcurse n
ordinea crerii lor, dar prin setarea proprietii TabIndex, aceast ordine poate fi
modificat;
Text stabilete sau red textul afiat de control;
Visible permite afiarea sau ascunderea controlului n timpul execuiei. Valoarea
implicit este True.

Metodele clasei Control

Metodele clasei Control cele mai importante sunt:


BringToFront(): afieaz controlul deasupra celorlalte controale din formular;
Dispose(): distruge formularul i elibereaz resursele ocupate de acesta;
FindeForm(): returneaz formularul care deine controlul;
Focus(): activeaz controlul pentru prelucrarea datelor (cursorul se poziioneaz in
interiorul controlului);
Refresh(): redeseneaz formularul i controalele coninute;
ToString(): returneaz un ir de caractere ce reprezint o descriere a controlului.

Evenimentele clasei Control

Principalele evenimente la care poate reaciona clasa Control sunt:


Click declanat la efectuarea unui click n interiorul controlului;
DoubleClick declanat la efectuarea a dou click-uri succesive n interiorul
controlului;
Enter declanat n momentul n care cursorul este poziionat n interiorul controlului;
GotFocus declanat atunci cnd controlul preia focus-ul, spre deosebire de Enter
GotFocus este declanat i atunci cnd controlul este activat o dat cu formularul
(controlul care primete focus-ul implicit la activarea formularului);
8
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

KeyDown declanat la apsarea unei taste (inclusiv a tastelor speciale: Ctrl, Alt,
Shift, etc.), dac controlul deine Focus-ul;
KeyPress declanat la apsarea unei taste alfanumerice, n cadrul controlului;
KeyUp declanat la eliberarea unei taste, inclusiv tastele speciale;
Leave declanat cnd cursorul prsete controlul (opusul lui Enter);
LostFocus declanat atunci cnd controlul pierde focus-ul (opusul lui GotFocus);
MouseDown nregistrat la apsarea unui buton al mouse-lui deasupra controlului;
MouseUp declanat la eliberarea butonului mouse-ului;
Paint declanat ori de cte ori se impune redesenarea controlului;
TextChanged declanat la modificarea textului afiat de control;
Validating declanat n timpul prsirii controlului i al validrii datelor coninute de
control (poate fi abandonat dac proprietatea Cancel a argumentului e este setat pe
True). Practic putem valida datele introduse i dac nu sunt corecte se va emite un
mesaj de avertizare i utilizatorul este obligat s introduc date corecte, altfel nu se
poate trece la un alt control;
Validated declanat dup ce datele introduse n control au fost validate de
Validating. Dac Validated este abandonat, atunci nici evenimentul Validated nu se va
mai produce.
Ordinea ctorva evenimente la selectarea unui control:
- Enter;
- GotFocus.
Ordinea ctorva evenimente la prsirea controlului:
- LostFocus;
- Leave;
- Validating;
- Validated.

9
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

ntrebri
1. Care sunt principalele proprieti ale clasei Control?
2. Care sunt principalele metode ale clasei Control?
3. Care sunt principalele evenimente la care reacioneaz clasa Control?
4. Care este ordinea evenimentelor la prsirea unui control?
5. Ce face metoda Focus()?
6. Cum poate fi valorificat evenimentul Validating?
6.4. Principalele controale vizuale

Controlul Label (etichet)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite afiarea unui
text sau mesaj care nu pot fi modificate de ctre utilizatorul final.
Proprieti specifice:
AutoSize proprietate de tip boolean, care definete modalitatea de dimensiune a
etichetei (automat True, manual - False);
ContextMenu stabilete, dac este cazul care este meniul contextual ataat etichetei;
TextAlign care poate fi setat n funcie de necesiti: BottomCenter; BottomLeft;
BottomRight, MiddleLeft.

Controlul TextBox (caset text)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite afiarea unui
text sau mesaj care pot fi modificate de ctre utilizatorul final sau preluarea unui text direct
de la tastatur.
Proprieti specifice:
Text de tip String, conine fie textul introdus de la tastatur, fie textul de afiat;
AutoSize determin dac mrimea casetei de text se ajusteaz automat n funcie de
coninutul su. Poate lua valorile True sau False;
CharacterCasing stabilete modul cum vor fi afiate caracterele n interiorul
casetei: Lower doar caractere mici; Upper doar caractere mari; Normal (cum sunt
introduse);
MultiLine permite scrierea pe mai multe linii, cnd aceast proprietate este setat pe
True;
MaxLength stabilete lungimea maxim a textului care poate fi introdus;
10
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

PasswordChar definete care este caracterul care se va afia n mod repetat, astfel
nct textul din interiorul s nu poat fi descifrat de cititor (proprietate util la
introducerea parolei);
SelectedText conine textul selectat;
SelectionStart returneaz numrul primului caracter selectat (se pornete de la zero);
SelectionLength returneaz numrul de caractere ale textului selectat;
ScrollBars stabilete stilul barelor de derulare aferente casetei: None (nici o bar);
Horizontal (bara orizontal); Vertical (bara vertical); Both (barele orizontal i
vertical). Cnd definim bare de derulare este necesar s o corelm i cu proprietatea
Multiline;
TextAlign seteaz alinierea textului afiat n proprietatea Text;
Metode specifice:
Clear() permite tergerea coninutului din proprietatea Text;
Select() selecteaz o poriune din text;
SelectAll() selecteaz ntreg textul;
Copy() copiaz n memoria Clipboard textul selectat;
Cut() mut textul selectat n Clipboard;
Pase() nlocuiete textul selectat cu cel din Clipboard;
Undo() reface coninutul casetei dup ultima operaie;

Controlul CheckBox (caset de validare)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite selectarea sau
deselectarea unei opiuni.
Proprieti specifice:
Checked de tip boolean, poate lua valorile True dac caseta este bifat, False
dac caseta nu este bifat;
AutoCheck Specific modul de bifare manual True sau prin program False;
CheckState Se utilizeaz atunci cnd se merge pe varianta de trei stri: Unchecked
nebifat; Checked bifat; Indeterminate nedeterminat. Trebuie corelat cu
proprietatea ThreeState care trebuie True;
Text definete textul nsoitor al casetei (semnificaia).

11
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Controlul RadioButton (buton radio)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite selectarea sau
deselectarea unei opiuni i n cadrul unui grup de opiuni va fi selectat doar o singur
opiune.
Proprieti specifice:
Checked de tip boolean, poate lua valorile True dac butonul este selectat, False
dac butonul nu este bifat;
AutoCheck Specific modul de bifare manual True sau prin program False;
Text definete textul nsoitor al butonului (semnificaia).

Controlul ListBox (caset cu list)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite afiarea unei
liste de opiuni din care pot fi selectate una sau mai multe.
Proprieti specifice:
Items proprietate de tip colecie de string-uri, care conine elementele listei.
Elementele coleciei Items se pot accesa prin expresia Item(i), unde i reprezint
indexul n cadrul coleciei (se ncepe cu index zero) ;
Horizontal ScrollBars stabilete dac lista are True sau nu are False bar orizontal
de derulare a listei;
MultiColumn permite afiarea pe mai multe coloane, cnd aceast proprietate este
setat pe True. Derularea se face pe orizontal. Cnd valoarea este False afiarea se
face pe o singur coloan i derularea se face pe vertical;
SelectionMode poate lua valorile: None nu se pot selecta elemente din list; One
se poate selecta doar un element din list; MultiSimple pot fi selectate mai multe
valori; MultiExtended pot fi selectate mai multe valori;
SelectedIndex returneaz sau seteaz indexul elementului selectat din list. Dac nu
exist nici un element selectat proprietatea va returna -1;
SelectedItems returneaz o colecie distinct care conine toate elementele selectatr
din list;
Sorted elementele listei vor fi sortate True sau nu False;
Metode specifice:
Add() adaug un element n list;
Clear() golete lista de elemente;
12
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

ClearSelected() deselecteaz toate elementele selectate;


Count() determin numrul elementelor din list;
GetSelected(index as Integer) indic dac elementul cu indexul precizat este sau nu
selectat;
Remove() terge un element precizat din list;
RemoveAt() terge un element cu indexul precizat din list.
Evenimente specifice:
SelectedIndexChanged se declaneaz la selecia unui element din list;

Controlul ComboBox (caset combinat)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite, pe de o parte,
afiarea unei liste de opiuni din care poate fi selectat o opiune i pe de alt parte adugarea
de noi elemente n list (combin TextBox cu ListBox).
Proprieti specifice:
Items proprietate de tip colecie de string-uri, care conine elementele listei.
Elementele coleciei Items se pot accesa prin expresia Item(i), unde i reprezint
indexul n cadrul coleciei (se ncepe cu index zero);
DropDownStyle specific tipul listei derulate i anume: Simple caseta text este
editabil, iar lista este permanent vizibil; DropDown caseta text este editabil, iar
lista este vizibil la deschiderea (activarea) sa; DropDownList caseta de text nu este
editabil, este permis doar selectarea unei opiuni din list;
DropDownWidth stabilete limea, n pixeli, a listei;
Horizontal ScrollBars stabilete dac lista are True sau nu are False bar orizontal
de derulare a listei;
MaxDropDownItems stabilete numrul maxim de elemente care se vor afia n
list (implicit este 8) la activarea acesteia;
MultiColumn permite afiarea pe mai multe coloane, cnd aceast proprietate este
setat pe True. Derularea se face pe orizontal. Cnd valoarea este False afiarea se
face pe o singur coloan i derularea se face pe vertical;
SelectedIndex returneaz sau seteaz indexul elementului selectat din list. Dac nu
exist nici un element selectat proprietatea va returna -1;
SelectedItems returneaz o colecie distinct care conine toate elementele selectatr
din list;
Sorted elementele listei vor fi sortate True sau nu False;
13
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Metode specifice:
Add() adaug un element n list;
Clear() golete lista de elemente;
ClearSelected() deselecteaz toate elementele selectate;
Count() determin numrul elementelor din list;
GetSelected(index as Integer) indic dac elementul cu indexul precizat este sau nu
selectat;
Remove() terge un element precizat din list;
RemoveAt() terge un element cu indexul precizat din list.
Evenimente specifice:
SelectedIndexChanged se declaneaz la selecia unui element din list;
DropDown se declaneaz n momentul n care utilizatorul activeaz lista derulant.

Controlul TrackBar (bara gradat)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite afiarea
vizual a unor valori sau din contr setarea unor valori.
Proprieti specifice:
Minimum reprezint valoarea minim pe bara gradat;
Maximum reprezint valoarea maxim pe bara gradat;
LargeChange specific mrimea cu care se modific valoarea curent atunci cnd se
acioneaz PgUp sau PgDown sau prin apsarea cu mouse-ul n zona barei (implicit
5);
SmallChange specific mrimea cu care se modific valoarea curent atunci cnd se
acioneaz sgeile barelor de derulare sau se utilizeaz tehnica drag&drop asupra
indicatorului (indicat 1);
TickFrequency reprezint densitatea liniilor de indicare pe bar (implicit 1);
TickStyle stabilete locul liniilor indicatoare: None nu apar; TopLeft deasupra;
BottomRight sub bar; Both deasupra i sub ea;
Value valoarea curent a indicatorului.
Evenimente specifice:
Scroll se declaneaz cnd se modific poziia indicatorului.

14
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Astfel pentru TrackBar ul din figur:

Se va afia la micarea indicatorului:


Public Class Form1
Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TrackBar1.Scroll
MessageBox.Show("Valoarea pozitiei=" & TrackBar1.Value)
End Sub
End Class

Controlul ProgressBar (bar de progres)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite afiarea
stadiului derulrii unui proces care presupune o perioad mai mare de derulare (copierea unui
grup de fiiere, executarea unei interogri, stabilirea unei conexiuni la un server aflat la
distan, etc.).
Proprieti specifice:
Minimum reprezint valoarea minim pe care o poate atinge bara de progres
(implicit 0);
Maximum reprezint valoarea maxim pe care o poate atinge bara de progres
(implicit 100);
Step reprezint valoarea cu care se incrementeaz bara de progres cnd este apelat
metoda PerformStep;
Value valoarea curent (starea) barei de progres.

15
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Metode specifice:
Increment (pas de incrementare) incrementeaz valoarea curent cu valoarea
stabilit;
PerformStep incrementeaz valoarea curent cu pasul stabilit la Step.
Astfel pentru ProgressBar ul din figur (minim 0; maxim 20; pasul 1), la clic succesiv pe
Button1 vom obine:

Public Class Form1


Private Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
ProgressBar1.PerformStep()
End Sub
End Class

Controlul NumericUpDown (gestionar de valori)

Deriv din clasa Control i ca atare motenete membrii acestei clase. Permite selectarea unei
valori numerice dintr-un anumit interval.
Proprieti specifice:
DecimalPlaces precizeaz numrul de zecimale;
Increment pasul cu care se modific valoarea curent;
InterceptArrowKeys dac valoarea este True modificarea se face cu sgeile; dac
valoarea este False modificarea se face cu mous-ul;
Minimum reprezint valoarea minim a intervalului de valori;
Maximum reprezint valoarea maxim a intervalului de valori;
Value valoarea curent.

16
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Astfel pentru NumericUpDown ul din figur (minim 0; maxim 120; pasul 1) dup 5 clic-uri
pe sgeat n sus vom obine:

ntrebri
1. La ce se utilizeaz clasa Label?
2. Ce conine proprietatea Text din clasa TextBox?
3. Ce valori poate lua proprietatea Checked

din clasa CheckBox, dar proprietatea

CheckState?
4. La ce se utilizeaz clasa ListBox?
5. Care este asemnarea i deosebirea dintre ListBox i ComboBox?
6. Care este proprietatea care conine poziia cursorului din clasa TrackBar?
7. La ce este util clasa ProgressBar?
8. Care sunt principalele proprieti ale clasei NumericUpDown?
6.5. Controale care nu apar n zona vizual

Controlul Timer (temporizor)

Permite declanarea unui eveniment la un anumit interval de timp.


Proprieti specifice:
Interval definete n milisecunde intervalul la care se execut procedura ataat
evenimentului Tick;
Enabled activat la valoarea True i dezactivat la valoarea False.
Evenimente specifice:
Tick declanat la trecerea intervalului de timp precizat de proprietatea Interval ;

17
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Aa cum se constat controlul Timer nu apare n zona vizual a formei, la proiectare el


apare n partea de jos (sub form), iar n timpul execuiei va aciona din spatele scenei.

Exemplu: La interval de 1000 milisecunde vrem s se afieze data i ora n Label1


(proprietate Enabled are valoarea implicit False i trebuie fcut True pentru activare)
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
Label1.Text = Now()
End Sub
End Class

La execuie vom obine:

18
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Controlul MainMenu (meniul principal)/ MenuStrip

Permite afiarea i valorificarea unui meniu n cadrul formei.


Aa cum se constat controlul MenuStrip nu apare n zona vizual a formei, la proiectare el
apare n partea de jos (sub form), iar n timpul execuiei va aciona din spatele scenei.

La inserarea controlului MenuStrip n interfa (dnd dubluclick pe elementul MenuStrip


selectat n ToolBox) vom constata c proprietatea MainMenuStrip din Form1 va lua valoarea
Name a meniului inserat de noi n interfa (implicit MenuStrip).
Pentru a nelege mecanismele de construire i de utilizare a meniurilor trebuie s clarificm
cteva aspecte teoretice mai ales din perspectiva utilizrii acestora n practic.
Meniurile pot fi clasificate n meniuri specifice formelor (ferestrelor) i meniuri contextuale.
Meniurile specifice formelor sau de dirijare, apar la activarea formei i sunt folosite pentru
selectarea operaiunilor de prelucrare n funcie de necesitile utilizatorului. Meniurile
contextuale se activeaz cnd se d click pe butonul drept al mous-ului pe un anumit obiect
care deine focus-ul sau ntr-o anumit zon a acestuia.
Un meniu de dirijare, are urmtoarea structur:

19
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Dup cum putem constata o opiune (un element de meniu) poate conine la rndul su un
submeniu. Un element dintr-un submeniu poate conine la rndul su un alt submeniu. Cnd
un element al unui submeniu conine la rndul su un submeniu, n partea dreapt a acestuia
apare o sgeat. Dei nu exist o restricie privind numrul de submeniuri imbricate care pot
fi utilizate, totui bunele practici restricioneaz numrul acestora la trei.
Literele subliniate din opiunile de meniu se numesc taste de acces i sunt stabilite utiliznd
caracterul & n faa lor (aceste litere trebuie s fie unice n meniul de nivel zero i n fiecare
submeniu). Apsnd concomitent Alt i litera subliniat (exemplu Alt i F pentru opiunea
File) este ca i cnd am da clic pe opiunea respectiv.
O obine de meniu poate fi activat (disponibil) sau dezactivat indisponibil. La opiunile
de meniu (cu excepia celor de nivel zero) li se pot asocia combinaii de taste pentru acces
rapid - scurtturi de acces (exemplu: Ctrl+Alt+O pentru opiunea Output). Elementele unui
submeniu pot fi grupate pe opiuni omogene i separate printr-o linie despritoare
(separator).
Pentru a selecta o opiune de meniu se va da click cu mous-ul pe opiunea respectiv sau se
vor utiliza tastele de acces sau scurtturile de acces.
20
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Proprieti specifice unui element (opiune de meniu):


Name definete numele opiunii, util programului. De preferat vom defini numele
opiunii cu mnu i numele opiunilor i subopiunilor din care deriv (exemplu:
FisiereAdaugaProiectNou) pentru opiunea Proiect Nou din meniul de mai jos:

Text Conine sau seteaz opiunea (elementul) de meniu;


TextImageRelation permite stabilirea locului unde va aprea pictograma pentru o
opiune de meniu (de regul n faa textului - ImageBeforeText);
ToolTypeText conine un mesaj explicativ care se va afia cnd mousu-ul poposete
pe opiunea respectiv.
Evenimente specifice:
Click declanat cnd se face click cu mous-ul pe opiune sau cnd se folosesc literele
de acces sau scurtturile de acces (combinaii de taste).
Pentru construirea unui meniu de dirijare (de form) se procedeaz astfel:
Se adaug n aplicaie MenuStrip:
Se d dublu clic pe MenuStrip n ToolBox.
Se introduc elementele meniului de nivel zero i submeniurilor:
Se tasteaz un element nou de meniu n locul adecvat n csua disponibil TypeHere,
ca mai jos:

21
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Se adaug o opiune de meniu deasupra unei opiuni selectate:


Se selecteaz opiunea deasupra creia dorim s adugm o alt opiune (se d click
dreapta);
Din meniul contextual se selecteaz Insert, MenuItem:

22
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Se adaug un separator deasupra unei opiuni selectate:


Se selecteaz opiunea deasupra creia dorim s adugm un separator (se d click
dreapta);
Din meniul contextual se selecteaz Insert, Separator.
Se trateaz evenimentul click pentru o opiune de meniu (generarea proceduri
numeOpiuneDeMeniu_Click). n fereastra cod:
Se selecteaz din lista de obiecte (lista din stnga a ferestrei de cod) numele opiunii
pentru care dorim s implementm procedura;
Se selecteaz din lista de evenimente (lista din dreapta a ferestrei de cod) evenimentul
click. Se genereaz procedura numeOpiuneDeMeniu_Click (De exemplu pentru opiunea
de meniu mnuFisiereDeschidereProiect) vom avea:

Private Sub mnuFisiereDeschidereProiect_Click(ByVal sender As Object, ByVal


e As System.EventArgs) Handles mnuFisiereDeschidereProiect.Click
MessageBox.Show("S-a selectat optiunea: " &
mnuFisiereDeschidereProiect.Name)
End Sub

Se dezactiveaz o opiune de meniu activ:


La click pe Button1 (Dezactivez) vom dezactiva opiunea de meniu Deschidere
proiect;
Codul de dezactivare (numeOpiuneDeMeniu.Enabel=False)va fi:

Private Sub Button1_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Button1.Click
mnuFisiereDeschidereProiect.Enabled = False
End Sub

Iar efectul dezactivrii presupune estomparea respectivei opiuni:

23
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Se activeaz o opiune de meniu dezactivat:


La click pe Button2 (Activez) vom activa opiunea de meniu Deschidere proiect
dezactivat anterior;
Codul de activare (numeOpiuneDeMeniu.Enabel=True)va fi:
Private Sub Button2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button2.Click
mnuFisiereDeschidereProiect.Enabled = True
End Sub

Iar efectul activrii presupune scrierea normal a respectivei opiuni:

Pentru construirea unui meniu contextual se procedeaz astfel:


Se adaug n aplicaie ContextMenuStrip:
Se d dublu clic pe ContextMenuStrip n ToolBox i se va aduga ContextMenuStrip1
sub form;
Se stabilete obiectul pentru care se programeaz meniul contextual (n cazul nostru
Button3 - Context)
I se atribuie proprietii ContextMenuStrip valoarea ContextMenuStrip1;
Se construiete meniul contextual:
24
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Se selecteaz ContextMenuStrip1;
Se introduce o opiune n meniul contextual (n casta Type Here);
Se repet pasul precedent pentru o nou opiune. La final vom avea:

Se d click dreapta pe Button3 i vom avea i se afieaz meniul contextual:

Se selecteaz o opiune din meniu i se declaneaz procedura aferent lui click pe


respectiva opiune. Pentru procedura:
Private Sub CitireToolStripMenuItem_Click(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
CitireToolStripMenuItem.Click
MessageBox.Show("S-a selectat optiunea Citire")
End Sub

25
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Se va afia:

ntrebri
1. De cte feluri exist tipurile de meniu?
2. Care sunt principalele componente ale unui meniu de form (de dirijare)?
3. Care sunt principalii pai pentru construirea unui meniu de form prin metoda grafic?
4. Cum se adaug un element nou de meniu prin program?
5. Cum se dezactiveaz prin program o opiune de meniu?
6. Cum se programeaz selectarea unei opiuni de meniu?
7. Ce este meniul contextual i cum se atribuie el unui obiect din interfa?
8. Cum se programeaz selectarea unei opiuni din meniul contextual?

26
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

Bibliografie Unitatea de nvare 6


1. A. COZGAREA Programarea calculatoarelor, introducere n VB.NET,
Editura ASE Bucureti, 2008;
2. Gh. POPESCU Programarea calculatoarelor n limbajul Visual Basic, Editura
Gestiunea Bucureti, 2007;
3. Octavian DOSPINESCU Dezvoltarea aplicaiilor n VB.NET, Editura Polirom
Iai, 2004.

27
Confereniar universitar dr. Veronica POPESCU

Unitatea de nvare 6 PROGRAMAREA N VB.NET


_________________________________________________________________________________________________________________

OBIECTIVELE UNITII DE NVARE 6.............................................................................. 2


6.1. Construirea interfeei cu utilizatorul.................................................................................... 2
6.2. Clasa Form ........................................................................................................................... 5
6.3. Clasa Control ....................................................................................................................... 7
6.4. Principalele controale vizuale ............................................................................................ 10
6.5. Controale care nu apar n zona vizual ............................................................................. 17
Bibliografie Unitatea de nvare 6 ........................................................................................... 27

28
Confereniar universitar dr. Veronica POPESCU