Clase vizuale in VB-NET

Preview:

Citation preview

  • 8/19/2019 Clase vizuale in VB-NET

    1/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    1© Conferenţiar universitar dr. Veronica POPESCU

    UNITATEA DE ÎNVĂŢARE 6

    CLASE VIZUALE ÎN VB.NET ___________________________________________________________________________

    CuprinsObiectivele unităţii de învăţare 6

    6.1. Construirea interfeţei cu utilizatorul

    Identificarea priorităţilor utilizatoruluiInterfaţa cu utilizatorulTratarea evenimentelorÎntrebări

    6.2. Clasa Form

    Despre clasa FormProprietăţile clasei FormMetodele clase FormEvenimentele clasei FormÎntrebări

    6.3. Clasa Control

    Definirea controalelorProprietăţile clasei ControlMetodele clasei ControlEvenimentele clasei ControlÎntrebări

    Bibliografie Unitatea de învăţare 6

  • 8/19/2019 Clase vizuale in VB-NET

    2/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    2© Conferenţiar universitar dr. Veronica POPESCU

    OBIECTIVELE UNITĂŢII DE ÎNVĂŢARE 6

    Însuşirea cunoştinţelor necesare pentru a înţelege cum se construieşte o interfaţăprofesională.

    Cunoaşterea proprietăţilor, metodelor şi evenimentelor la care reacţionează:forma, controalele în general şi cele mai utilizate controale vizuale.

    Cunoaşterea unor controale care nu sunt vizibile la execuţie, ci acţionează dinspatele scenei.

    Însuşirea deprinderilor necesare construirii de meniuri de dirijare şi contextuale.

    6.1. Construirea interfeţei cu utilizatorul

    Identificarea priorităţilor utilizatorului

    Din punctul de vedere al utilizatorului, partea cea mai importantă a unei aplicaţii o constituie: formularele

    şi rapoartele

    Interesul este mare atât pentru aspectul în sine cât şi pentru funcţionalitatea încorporată.

    Interfaţa cu utilizatorul

    Interfaţa cu utilizatorul reprezintă acea parte a aplicaţiei accesibilă utilizatorului final prinintermediul căreia acesta decide modul de execuţie a programului şi interpretează rezultatele prelucrării automate a datelor.Aşa numita programare vizuală a cristalizat în ultimii ani o serie de obiecte grafice standard pe care le întâlnim în majoritatea aplicaţiilor: butoane de comandă, etichete, casete de text,liste, casete de selecţie, etc.Sub mediul Windows, interfaţa cu utilizatorul este concepută ca un sistem grafic de ferestre(formulare), ce conţin mai multe controale destinate interacţiunii cu utilizatorul. În plus,interfaţa de tip Windows permite interceptarea şi tratarea evenimentelor generate deutilizator sau de sistem.În VB.NETinterfaţa cu utilizatorul poate fi realizată:

    în moddesign (grafic): prin construirea formularelor, generarea controalelor vizuale înforme, modificarea proprietăţilor în fereastra de proprietăţi şi programarea acestora să

    reacţioneze la anumite evenimente.

  • 8/19/2019 Clase vizuale in VB-NET

    3/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    3© Conferenţiar universitar dr. Veronica POPESCU

    Pentru modificarea proprietăţilor se selectează obiectul şi în fereastra Properties se selectează proprietatea care trebuie modificată în prima coloană şi se modifică valoarea proprietăţii încoloana din dreapta:Exemplu cu Form1 selectat:

    putem modifica lăţimea şi înălţimea.Vizualizarea proprietăţilor se poate face în două moduri:

    În ordinea alfabetică a denumirii proprietăţilorsau

    Grupat, pe diverse categorii sau grupe de proprietăţiÎn funcţie de opţiunea selectată (butonul apăsat):

    pe categorii, alfabetic, fereastra de proprietăţi sau fereastra de evenimente direct în codul sursă, prin scrierea comenzilor care să genereze anumite controale, cu

    valorile aferente proprietăţilor acestora şi programarea evenimentelor la care săreacţioneze.

    Pentru programarea evenimentelor în fereastra de cod din prima coloană se selectează

    obiectul iar în coloana din dreapta evenimentul.

  • 8/19/2019 Clase vizuale in VB-NET

    4/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    4© Conferenţiar universitar dr. Veronica POPESCU

    Tratarea evenimentelor

    Orice aplicaţie Windows este capabilă să intercepteze o serie de evenimente şi pentru fiecareeveniment, să execute anumite operaţii. VB.NET oferă un set standard de evenimente ce suntrecunoscute 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 semnătura) unei proceduri eveniment conţine:

    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, încadraţi între paranteze, care, la apariţia evenimentului, vorconţine diferite date descriptive. Evenimentele standard presupun doi parametrii:

    -

    sender – va conţine obiectul sursă al evenimentului;- e – un parametru prin care este descris evenimentul interceptat. Tipul acestui

    parametru este dependent de tipul evenimentului.

    Clauza Handles care defineşte legătura dintre eveniment şi procedură. Clauza precizează obiectul suport şi evenimentul aferent acestuia după sintaxa: HandlesnumeObiect.numeEveniment. Handles acceptă mai multe evenimente în declaraţia sa,separate prin virgulă. Astfel, o procedură poate să răspundă la mai multe evenimente,recepţionate chiar şi de la obiecte diferite: Handles Obj1.Eveniment1,Obj1.Eveniment2, Obj2.Eveniment1, etc.

  • 8/19/2019 Clase vizuale in VB-NET

    5/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    5© Conferenţiar universitar dr. Veronica POPESCU

    Întrebări

    1. Care este partea cea mai importantă a unei aplicaţii din punctul de vedere al utilizatorului?2. Ce reprezintă interfaţa cu utilizatorul?

    3. Cum este concepută interfaţa cu utilizatorul în mediul Windows?4. Ce conţine antetul (sau semnătura) unei proceduri eveniment?

    6.2. Clasa Form

    Despre clasa Form

    O aplicaţie de tip Windows poate să conţină mai multe formulare. Adăugarea unui formularîn proiect se realizează prin opţiunile: Project, Add Windows Form. Un formular este o clasă

    derivată din clasa de bază Form, spaţiul de nume: System.Windows.Forms.Toate proprietăţile, metodele şi evenimentele unui formular sunt disponibile în codul sursă,iar o parte din ele sunt accesibile şi în fereastra Properties.

    Proprietăţile clasei Form

    Cele mai utilizate proprietăţi sunt: Name – specifică denumirea formularului; BackColor – permite setarea culorii de fundal a formularului;

    BackgroundImage – permite definirea imaginii de fundal a formularului; Controls – este o colecţie ce conţine toate controalele deţinute 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 – stabileşte dacă formularul este de tip MDI (multiple document

    interface); Location – stabileşte sau redă coordonatele la care se afişează forma (colţul din stânga

    sus); MdiParent – atribuie sau returnează formularul părinte MDI, dacă formularul curent

    este de tip child (copil); Size – stabileşte sau redă dimensiunea (lăţimea şi înălţimea) în pixeli a formularului; Text – stabileşte sau redă titlul ferestrei;

  • 8/19/2019 Clase vizuale in VB-NET

    6/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    6© Conferenţiar universitar dr. Veronica POPESCU

    TopMost – setat pe True, va afişa formularul în prim plan (deasupra celorlate); Visible – permite afişarea sau ascunderea formularului în timpul execuţiei.

    Metodele clase Form

    Metodele clasei Form cele mai importante sunt: Activate (): la apelare formularul devine activ – deţine controlul execuţiei programului; Close (): închide formularul; Dispose (): distruge formularul şi eliberează resursele ocupate de acesta; Hide (): ascunde forma; Refresh (): redesenează formularul şi controalele conţinute; Show (): afişează forma; ShowDialog (): afişează fereastra ca o fereastră de dialog (continuarea impune

    închiderea acestei ferestre – luarea unei decizii).

    Evenimentele clasei Form

    Principalele evenimente a care poate reacţiona clasa Form sunt: Load – este evenimentul declanşat înainte ca formularul să se fie afişat prima dată; Activated – este declanşat la activare;

    Paint – apare ori de câte ori se impune redesenarea formularului; Resize – declanşat la fiecare redimensionare a ferestrei; MouseEnter – declanşat la poziţionarea mouse-lui în interiorul form-lui; MoseLeave – declanşat în momentul în care mouse-ul părăseşte formularul; MouseDown – declanşat la apăsarea unui buton al mouse-lui; MouseUp – declanşat la eliberarea unui buton al mouse-lui; Move – declanşat la mutarea formularului;

    Click – declanşat la efectuarea unui click în interiorul formularului; FormClosing – este un eveniment ce poate fi abandonat prin program şi poate fi

    declanşat la închidere; FormClosed – declanşat după închiderea formularului.

    Ordinea câtorva evenimente la deschidere:- Resize;- Load;- Activated;- Paint.

  • 8/19/2019 Clase vizuale in VB-NET

    7/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    7© Conferenţiar universitar dr. Veronica POPESCU

    Ordinea câtorva evenimente la închidere:- FormClosing;- FormClosed;- Disposed.

    Întrebări1. Care sunt principalele proprietăţi ale clasei Form?2. Care sunt principalele metode ale clasei Form?3. Care sunt principalele evenimente la care reacţionează clasa Form?4. Care este ordinea evenimentelor la deschiderea unui formular?

    6.3. Clasa Control

    Definirea controalelor

    Adăugarea unui control se poate face fie în modul grafic Designer fie direct prin cod. În Designer, crearea unui control este posibilă prin parcurgerea următoarelor etape:

    Selectarea controlului în fereastra ToolBox; Dublu click; Poziţionarea în formular şi setarea proprietăţilor în fereastra Properties;

    Princod, ataşarea unui control la un formular se poate face în cadrul unei metode: Se defineşte o variabilă de tipul controlului respectiv; Se iniţializează variabila; Se setează prin cod anumite proprietăţi ale obiectului;

    În VB.NET toate controalele moştenesc de la clasa Control, care implementeazăfuncţionalităţile de bază pentru preluarea şi afişarea datelor.

    Proprietăţile clasei Control

    Cele mai utilizateproprietăţi sunt: Name – specifică denumirea controlului; BackColor – permite setarea culorii de fundal a controlului; Controls – conţine o colecţie de controale deţinute de controlul respectiv; Cursor – specifică forma pe care o va lua pointer-ul mouse-lui (Default, WaitCursor,

    Hand, etc.); Enabled – indică dacă obiectul respectiv răspunde sau nu la interacţiunea cu

    utilizatorul;

  • 8/19/2019 Clase vizuale in VB-NET

    8/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    8© Conferenţiar universitar dr. Veronica POPESCU

    Font – permite setarea fontului textului; ForeColor – permite setarea culorii textului; Location (X, Y)– stabileşte sau redă coordonatele la care se afişează controlul (colţul

    din stânga sus); Parent – setează sau redă containerul (formularul sau alt control) ce deţine controlul

    respectiv; Size – stabileşte sau redă dimensiunea (lăţimea şi înălţimea) în pixeli a controlului; TabIndex – conţine un număr care descrie poziţia controlului în parcurgerea tuturor

    controalelor din formular, cu ajutorul tastei Tab. Implicit controalele sunt parcurse înordinea creării lor, dar prin setarea proprietăţii TabIndex, această ordine poate fimodificată;

    Text – stabileşte sau redă textul afişat de control; Visible – permite afişarea sau ascunderea controlului în timpul execuţiei. Valoarea

    implicită este True.

    Metodele clasei Control

    Metodele clasei Control cele mai importante sunt: BringToFront (): afişează controlul deasupra celorlalte controale din formular;

    Dispose (): distruge formularul şi eliberează resursele ocupate de acesta; FindeForm (): returnează formularul care deţine controlul; Focus(): activează controlul pentru prelucrarea datelor (cursorul se poziţionează in

    interiorul controlului); Refresh (): redesenează formularul şi controalele conţinute; ToString (): returnează un şir de caractere ce reprezintă o descriere a controlului.

    Evenimentele clasei Control

    Principalele evenimente la care poate reacţiona clasa Control sunt: Click – declanşat la efectuarea unui click în interiorul controlului; DoubleClick – declanşat la efectuarea a două click-uri succesive în interiorul

    controlului; Enter – declanşat în momentul în care cursorul este poziţionat în interiorul controlului; GotFocus – declanşat atunci când controlul preia focus-ul, spre deosebire de Enter

    GotFocus este declanşat şi atunci când controlul este activat o dată cu formularul(controlul care primeşte focus-ul implicit la activarea formularului);

  • 8/19/2019 Clase vizuale in VB-NET

    9/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    9© Conferenţiar universitar dr. Veronica POPESCU

    KeyDown – declanşat la apăsarea unei taste (inclusiv a tastelor speciale: Ctrl, Alt,Shift, etc.), dacă controlul deţine Focus-ul;

    KeyPress – declanşat la apăsarea unei taste alfanumerice, în cadrul controlului; KeyUp – declanşat la eliberarea unei taste, inclusiv tastele speciale; Leave – declanşat când cursorul părăseşte controlul (opusul lui Enter); LostFocus – declanşat atunci când controlul pierde focus-ul (opusul lui GotFocus); MouseDown – înregistrat la apăsarea unui buton al mouse-lui deasupra controlului; MouseUp – declanşat la eliberarea butonului mouse-ului; Paint – declanşat ori de câte ori se impune redesenarea controlului; TextChanged – declanşat la modificarea textului afişat de control; Validating – declanşat în timpul părăsirii controlului şi al validării datelor conţinute de

    control (poate fi abandonat dacă proprietatea Cancel a argumentului e este setată peTrue). Practic putem valida datele introduse şi dacă nu sunt corecte se va emite unmesaj de avertizare şi utilizatorul este obligat să introducă date corecte, altfel nu se poate trece la un alt control;

    Validated – declanşat după ce datele introduse în control au fost validate deValidating. Dacă Validated este abandonat, atunci nici evenimentul Validated nu se vamai produce.

    Ordinea câtorva evenimente la selectarea unui control:- Enter;- GotFocus.

    Ordinea câtorva evenimente la părăsirea controlului:- LostFocus;- Leave;- Validating;

    - Validated.

  • 8/19/2019 Clase vizuale in VB-NET

    10/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    10© Conferenţiar universitar dr. Veronica POPESCU

    Întrebări1. Care sunt principalele proprietăţi ale clasei Control?2. Care sunt principalele metode ale clasei Control?

    3. Care sunt principalele evenimente la care reacţionează clasa Control?4. Care este ordinea evenimentelor la părăsirea 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 moşteneşte membrii acestei clase. Permite afişarea unuitext sau mesaj care nu pot fi modificate de către utilizatorul final.

    Proprietăţi specifice: AutoSize – proprietate de tip boolean, care defineşte modalitatea de dimensiune a

    etichetei (automat – True, manual - False); ContextMenu – stabileşte, dacă este cazul care este meniul contextual ataşat etichetei; TextAlign – care poate fi setat în funcţie de necesităţi: BottomCenter; BottomLeft;

    BottomRight, MiddleLeft.

    Controlul TextBox (casetă text)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite afişarea unuitext sau mesaj care pot fi modificate de către utilizatorul final sau preluarea unui text directde la tastatură.

    Proprietăţi specifice: Text – de tip String, conţine fie textul introdus de la tastatură, fie textul de afişat; AutoSize – determină dacă mărimea casetei de text se ajustează automat în funcţie de

    conţinutul său. Poate lua valorile True sau False; CharacterCasing – stabileşte modul cum vor fi afişate caracterele în interiorul

    casetei: Lower – doar caractere mici; Upper – doar caractere mari; Normal (cum suntintroduse);

    MultiLine – permite scrierea pe mai multe linii, când această proprietate este setată peTrue;

    MaxLength – stabileşte lungimea maximă a textului care poate fi introdus;

  • 8/19/2019 Clase vizuale in VB-NET

    11/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    11© Conferenţiar universitar dr. Veronica POPESCU

    PasswordChar – defineşte care este caracterul care se va afişa în mod repetat, astfelîncât textul din interiorul să nu poată fi descifrat de cititor (proprietate utilă laintroducerea parolei);

    SelectedText – conţine textul selectat; SelectionStart – returnează numărul primului caracter selectat (se porneşte de la zero); SelectionLength – returnează numărul de caractere ale textului selectat; ScrollBars – stabileşte stilul barelor de derulare aferente casetei: None (nici o bară);

    Horizontal (bara orizontală); Vertical (bara verticală); Both (barele orizontală şiverticală). Când definim bare de derulare este necesar să o corelăm şi cu proprietateaMultiline;

    TextAlign – setează alinierea textului afişat în proprietatea Text; Metode specifice:

    Clear () – permite ştergerea conţinutului din proprietatea Text; Select () – selectează o porţiune din text; SelectAll () – selectează întreg textul; Copy () – copiază în memoria Clipboard textul selectat; Cut () – mută textul selectat în Clipboard; Pase () – înlocuieşte textul selectat cu cel din Clipboard; Undo () – reface conţinutul casetei după ultima operaţie;

    Controlul CheckBox (casetă de validare)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite selectarea saudeselectarea unei opţiuni.

    Proprietăţi 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 când se merge pe varianta de trei stări: Unchecked –

    nebifat; Checked – bifat; Indeterminate – nedeterminat. Trebuie corelată cu proprietatea ThreeState care trebuie True;

    Text – defineşte textul însoţitor al casetei (semnificaţia).

  • 8/19/2019 Clase vizuale in VB-NET

    12/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    12© Conferenţiar universitar dr. Veronica POPESCU

    Controlul RadioButton (buton radio)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite selectarea saudeselectarea unei opţiuni şi în cadrul unui grup de opţiuni va fi selectată doar o singurăopţiune.

    Proprietăţi 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 – defineşte textul însoţitor al butonului (semnificaţia).

    Controlul ListBox (casetă cu listă)Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite afişarea uneiliste de opţiuni din care pot fi selectate una sau mai multe.

    Proprietăţi specifice: Items – proprietate de tip colecţie de string-uri, care conţine elementele listei.

    Elementele colecţiei Items se pot accesa prin expresia Item(i), unde i reprezintăindexul în cadrul colecţiei (se începe cu index zero) ;

    Horizontal ScrollBars – stabileşte dacă lista are True sau nu are False bară orizontalăde derulare a listei;

    MultiColumn – permite afişarea pe mai multe coloane, când această proprietate estesetată pe True. Derularea se face pe orizontală. Când valoarea este False afişarea seface 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 colecţie distinctă care conţine toate elementele selectatr

    din listă; Sorted – elementele listei vor fi sortate True sau nu False;

    Metode specifice:

    Add () – adaugă un element în listă; Clear () – goleşte lista de elemente;

  • 8/19/2019 Clase vizuale in VB-NET

    13/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    13© Conferenţiar universitar dr. Veronica POPESCU

    ClearSelected () – deselectează toate elementele selectate; Count () – determină numărul 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 declanşează la selecţia unui element din listă;

    Controlul ComboBox (casetă combinată)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite, pe de o parte,afişarea unei liste de opţiuni din care poate fi selectată o opţiune şi pe de altă parte adăugareade noi elemente în listă (combină TextBox cu ListBox).

    Proprietăţi specifice: Items – proprietate de tip colecţie de string-uri, care conţine elementele listei.

    Elementele colecţiei Items se pot accesa prin expresia Item(i), unde i reprezintăindexul în cadrul colecţiei (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ă, iarlista este vizibilă la deschiderea (activarea) sa; DropDownList – caseta de text nu esteeditabilă, este permisă doar selectarea unei opţiuni din listă;

    DropDownWidth – stabileşte lăţimea, în pixeli, a listei; Horizontal ScrollBars – stabileşte dacă lista are True sau nu are False bară orizontală

    de derulare a listei; MaxDropDownItems – stabileşte numărul maxim de elemente care se vor afişa în

    listă (implicit este 8) la activarea acesteia; MultiColumn – permite afişarea pe mai multe coloane, când această proprietate este

    setată pe True. Derularea se face pe orizontală. Când valoarea este False afişarea seface pe o singură coloană şi derularea se face pe verticală;

    SelectedIndex – returnează sau setează indexul elementului selectat din listă. Dacă nuexistă nici un element selectat proprietatea va returna -1;

    SelectedItems – returnează o colecţie distinctă care conţine toate elementele selectatr

    din listă; Sorted – elementele listei vor fi sortate True sau nu False;

  • 8/19/2019 Clase vizuale in VB-NET

    14/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    14© Conferenţiar universitar dr. Veronica POPESCU

    Metode specifice: Add () – adaugă un element în listă; Clear () – goleşte lista de elemente; ClearSelected () – deselectează toate elementele selectate; Count () – determină numărul 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 declanşează la selecţia unui element din listă; DropDown – se declanşează în momentul în care utilizatorul activează lista derulantă.

    Controlul TrackBar (bara gradată)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite afişareavizuală a unor valori sau din contră setarea unor valori.

    Proprietăţi specifice: Minimum – reprezintă valoarea minimă pe bara gradată;

    Maximum – reprezintă valoarea maximă pe bara gradată; LargeChange – specifică mărimea cu care se modifică valoarea curentă atunci când se

    acţionează PgUp sau PgDown sau prin apăsarea cu mouse-ul în zona barei (implicit5);

    SmallChange – specifică mărimea cu care se modifică valoarea curentă atunci când seacţionează săgeţile barelor de derulare sau se utilizează tehnica drag&drop asupraindicatorului (indicat 1);

    TickFrequency – reprezintă densitatea liniilor de indicare pe bară (implicit 1); TickStyle – stabileşte 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 declanşează când se modifică poziţia indicatorului.

  • 8/19/2019 Clase vizuale in VB-NET

    15/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    15© Conferenţiar universitar dr. Veronica POPESCU

    Astfel pentruTrackBar –ul din figură:

    Se va afişa la mişcarea 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 moşteneşte membrii acestei clase. Permite afişareastadiului derulării unui proces care presupune o perioadă mai mare de derulare (copierea unuigrup de fişiere, executarea unei interogări, stabilirea unei conexiuni la un server aflat ladistanţă, etc.).

    Proprietăţi 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 când este apelată

    metoda PerformStep;

    Value – valoarea curentă (starea) barei de progres.

  • 8/19/2019 Clase vizuale in VB-NET

    16/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    16© Conferenţiar universitar dr. Veronica POPESCU

    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 peButton1 vom obţine:

    Public Class Form1Private Sub Button1_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles Button1.ClickProgressBar1.PerformStep()End Sub

    End Class

    Controlul NumericUpDown (gestionar de valori)

    Derivă din clasa Control şi ca atare moşteneşte membrii acestei clase. Permite selectarea uneivalori numerice dintr-un anumit interval.

    Proprietăţi specifice: DecimalPlaces – precizează numărul de zecimale;

    Increment – pasul cu care se modifică valoarea curentă; InterceptArrowKeys – dacă valoarea este True – modificarea se face cu săgeţile; 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ă.

  • 8/19/2019 Clase vizuale in VB-NET

    17/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    17© Conferenţiar universitar dr. Veronica POPESCU

    Astfel pentruNumericUpDown –ul din figură (minim 0; maxim 120; pasul 1) după 5 clic-uri pe săgeată în sus vom obţine:

    Întrebări1. La ce se utilizează clasa Label?2. Ce conţine proprietatea Text din clasa TextBox?3. Ce valori poate lua proprietatea Checked din clasa CheckBox, dar proprietateaCheckState?

    4. La ce se utilizează clasa ListBox?5. Care este asemănarea şi deosebirea dintre ListBox şi ComboBox?6. Care este proprietatea care conţine poziţia cursorului din clasa TrackBar?7. La ce este utilă clasa ProgressBar?8. Care sunt principalele proprietăţi ale clasei NumericUpDown?

    6.5. Controale care nu apar în zona vizuală

    Controlul Timer (temporizor)

    Permite declanşarea unui eveniment la un anumit interval de timp. Proprietăţi specifice:

    Interval – defineşte în milisecunde intervalul la care se execută procedura ataşatăevenimentului Tick;

    Enabled – activat la valoarea True şi dezactivat la valoarea False. Evenimente specifice:

    Tick – declanşat la trecerea intervalului de timp precizat de proprietatea Interval ;

  • 8/19/2019 Clase vizuale in VB-NET

    18/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    18© Conferenţiar universitar dr. Veronica POPESCU

    Aşa cum se constată controlul Timer nu apare în zona vizuală a formei, la proiectare elapare în partea de jos (sub formă), iar în timpul execuţiei va acţiona din spatele scenei.

    Exemplu: La interval de 1000 milisecunde vrem să se afişeze data şi ora în Label1(proprietate Enabled are valoarea implicită False şi trebuie făcută True pentru activare)

    Public Class Form1Private Sub Timer1_Tick( ByVal sender As Object , ByVal e As System.EventArgs) Handles Timer1.TickLabel1.Text = Now()End Sub

    End Class

    Laexecuţie vom obţine:

  • 8/19/2019 Clase vizuale in VB-NET

    19/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    19© Conferenţiar universitar dr. Veronica POPESCU

    Controlul MainMenu (meniul principal)/ MenuStrip

    Permite afişarea şi valorificarea unui meniu în cadrul formei.Aşa cum se constată controlul MenuStrip nu apare în zona vizuală a formei, la proiectare elapare în partea de jos (sub formă), iar în timpul execuţiei va acţiona din spatele scenei.

    La inserarea controlului MenuStrip în interfaţă (dând dubluclick pe elementul MenuStripselectat în ToolBox) vom constata că proprietatea MainMenuStrip din Form1 va lua valoarea Name a meniului inserat de noi în interfaţă (implicit MenuStrip).Pentru a înţelege mecanismele de construire şi de utilizare a meniurilor trebuie să clarificămcâteva aspecte teoretice mai ales din perspectiva utilizării 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 pentruselectarea operaţiunilor de prelucrare în funcţie de necesităţile utilizatorului. Meniurilecontextuale se activează când se dă click pe butonul drept al mous-ului pe un anumit obiectcare deţine focus-ul sau într-o anumită zonă a acestuia.Un meniu de dirijare, are următoarea structură:

  • 8/19/2019 Clase vizuale in VB-NET

    20/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    20© Conferenţiar universitar dr. Veronica POPESCU

    După cum putem constata o opţiune (un element de meniu) poate conţine la rândul său unsubmeniu. Un element dintr-un submeniu poate conţine la rândul său un alt submeniu. Cândun element al unui submeniu conţine la rândul său un submeniu, în partea dreaptă a acestuiaapare o săgeată. Deşi nu există o restricţie privind numărul de submeniuri imbricate care potfi utilizate, totuşi bunele practici restricţionează numărul acestora la trei.Literele subliniate din opţiunile de meniu se numesc taste de acces şi sunt stabilite utilizândcaracterul & în faţa lor (aceste litere trebuie să fie unice în meniul de nivel zero şi în fiecaresubmeniu). Apăsând concomitent Alt şi litera subliniată (exemplu Alt şi F – pentru opţiuneaFile) este ca şi când am da clic pe opţiunea respectivă.O obţine de meniu poate fi activată (disponibilă) sau dezactivată indisponibilă. La opţiunilede meniu (cu excepţia celor de nivel zero) li se pot asocia combinaţii de taste pentru accesrapid - scurtături de acces (exemplu: Ctrl+Alt+O pentru opţiunea Output). Elementele unuisubmeniu pot fi grupate pe opţiuni omogene şi separate printr-o linie despărţitoare(separator).Pentru a selecta o opţiune de meniu se va da click cu mous-ul pe opţiunea respectivă sau se

    vor utiliza tastele de acces sau scurtăturile de acces.

  • 8/19/2019 Clase vizuale in VB-NET

    21/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    21© Conferenţiar universitar dr. Veronica POPESCU

    Proprietăţi specifice unui element (opţiune de meniu): Name – defineşte numele opţiunii, util programului. De preferat vom defini numele

    opţiunii cu mnu şi numele opţiunilor şi subopţiunilor din care derivă (exemplu:FisiereAdaugaProiectNou) pentru opţiunea Proiect Nou… din meniul de mai jos:

    Text – Conţine sau setează opţiunea (elementul) de meniu; TextImageRelation – permite stabilirea locului unde va apărea pictograma pentru o

    opţiune de meniu (de regulă în faţa textului - ImageBeforeText); ToolTypeText – conţine un mesaj explicativ care se va afişa când mousu-ul poposeşte pe opţiunea respectivă.

    Evenimente specifice: Click – declanşat când se face click cu mous-ul pe opţiune sau când se folosesc literele

    de acces sau scurtăturile de acces (combinaţii de taste).

    Pentru construirea unui meniu de dirijare (de formă) se procedează astfel:

    Se adaugă în aplicaţie 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 căsuţa disponibilă TypeHere,ca mai jos:

  • 8/19/2019 Clase vizuale in VB-NET

    22/28

  • 8/19/2019 Clase vizuale in VB-NET

    23/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    23© Conferenţiar universitar dr. Veronica POPESCU

    Se adaugă un separator deasupra unei opţiuni selectate: Se selectează opţiunea deasupra căreia dorim să adăugăm un separator (se dă click

    dreapta); Din meniul contextual se selectează Insert, Separator.

    Se tratează evenimentul click pentru o opţiune de meniu (generarea procedurinumeOpţiuneDeMeniu_Click). În fereastra cod:

    Se selectează din lista de obiecte (lista din stânga a ferestrei de cod) numele opţiunii pentru care dorim să implementăm procedura;

    Se selectează din lista de evenimente (lista din dreapta a ferestrei de cod) evenimentulclick. Se generează proceduranumeOpţiuneDeMeniu_Click (De exemplu pentru opţiuneade meniumnuFisiereDeschidereProiect ) 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 opţiune de meniu activă: La click pe Button1 (Dezactivez) vom dezactiva opţiunea de meniu Deschidere proiect…;

    Codul de dezactivare (numeOpţiuneDeMeniu.Enabel=False)va fi:

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

    mnuFisiereDeschidereProiect.Enabled = FalseEnd Sub

    Iar efectul dezactivării presupune estomparea respectivei opţiuni:

  • 8/19/2019 Clase vizuale in VB-NET

    24/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    24© Conferenţiar universitar dr. Veronica POPESCU

    Se activează o opţiune de meniu dezactivată: La click pe Button2 (Activez) vom activa opţiunea de meniu Deschidere proiect…

    dezactivată anterior; Codul de activare (numeOpţiuneDeMeniu.Enabel=True)va fi:

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

    System.EventArgs) Handles Button2.ClickmnuFisiereDeschidereProiect.Enabled = TrueEnd Sub

    Iar efectul activării presupune scrierea normală a respectivei opţiuni:

    Pentru construirea unui meniu contextual se procedează astfel:

    Se adaugă în aplicaţie ContextMenuStrip: Se dă dublu clic pe ContextMenuStrip în ToolBox şi se va adăuga ContextMenuStrip1

    sub formă; Se stabileşte obiectul pentru care se programează meniul contextual (în cazul nostru

    Button3 - Context) I se atribuie proprietăţii ContextMenuStrip valoarea ContextMenuStrip1;

    Se construieşte meniul contextual:

  • 8/19/2019 Clase vizuale in VB-NET

    25/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    25© Conferenţiar universitar dr. Veronica POPESCU

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

    Se dă click dreapta pe Button3 şi vom avea şi se afişează meniul contextual:

    Se selectează o opţiune din meniu şi se declanşează procedura aferentă lui click perespectiva opţiune. 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

  • 8/19/2019 Clase vizuale in VB-NET

    26/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    26© Conferenţiar universitar dr. Veronica POPESCU

    Se va afişa:

    Întrebări1. De câte feluri există tipurile de meniu?2. Care sunt principalele componente ale unui meniu de formă (de dirijare)?3. Care sunt principalii paşi 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 opţiune de meniu?6. Cum se programează selectarea unei opţiuni de meniu?7. Ce este meniul contextual şi cum se atribuie el unui obiect din interfaţă?8. Cum se programează selectarea unei opţiuni din meniul contextual?

  • 8/19/2019 Clase vizuale in VB-NET

    27/28

    Unitatea de învăţare 6 PROGRAMAREA ÎN VB.NET _________________________________________________________________________________________________________________

    27© Conferenţiar universitar dr. Veronica POPESCU

    Bibliografie Unitatea de învăţare 6

    1. A. COZGAREA – Programarea calculatoarelor, introducere în VB.NET,Editura ASE Bucureşti, 2008;

    2. Gh. POPESCU – Programarea calculatoarelor în limbajul Visual Basic, EdituraGestiunea Bucureşti, 2007;

    3. Octavian DOSPINESCU – Dezvoltarea aplicaţiilor în VB.NET, Editura PoliromIaşi, 2004.

  • 8/19/2019 Clase vizuale in VB-NET

    28/28

Recommended