3 proiectarea unei forme (formular) Formele


Controlul Etichetă (LABEL)



Yüklə 0,99 Mb.
səhifə2/5
tarix27.07.2018
ölçüsü0,99 Mb.
#60537
1   2   3   4   5

3.3.1. Controlul Etichetă (LABEL)
Controlul Etichetă este un control grafic folosit pentru afişarea de text pe care utilizatorul nu îl poate modifica. Textul ce va fi afişat se stabileşte prin intermediul proprietăţii Text. Acesta poate fi stabilit din faza de proiectare, dar se poate modifica în timpul execuţiei prin intermediul unei proceduri asociate.

Principalele proprietăţi şi evenimente ale controlului Etichetă se prezintă astfel:



Tabelul 1. Proprietăţile controlului Etichetă (Label)

Proprietate

Descriere

AutoSize

Dacă este True, controlul se va ajusta automat pentru a încadra exact conţinutul textului. Dacă este Fals (default), controlul va trece de marginea din dreapta a textului dacă eticheta nu este suficient de mare pentru a cuprinde întreaga captură.

BackColor

(Culoarea de fundal)



Culoarea de fundal a etichetei. Numărul său hexadecimal reprezintă una din miile de posibile valori de culoare din Windows. Puteţi selecta dintr-o paletă de culori afişată de Visual Basic cănd doriţi să stabiliţi proprietatea Culoarea de fundal. Culoarea prestabilită (default) este aceeaşi cu cea a formei.

BorderStyle

Setat la None atunci când nu există elemente de margine, FixedSingle pentru margini cu mărime fixă; Fixed3D pentru margine cu mărime fixă care include o muchie dublă.

Text

Textul care apare într-o etichetă.

Enabled

(Activat)



Dacă este setat True (default) controlul etichetei poate răspunde la evenimente. Altfel, Visual Basic opreşte procesarea evenimentelor pentru controlul respectiv.

Fontul Bold

Adevărat (default), în cazul în care textul este afişat în caractere bold.

Fontul Italic

Adevărat (default), în cazul în care textul este afişat în caractere italice.

Font Name

(Nume Font)



Numele tipului de caractere folosit de controlul etichetei. În mod normal, veţi folosi numele unui font TrueType din Windows.

FontSize

(Mărime Font)



Mărimea, în puncte, a fontului folosit pentru textul etichetei.

Font Strikethrough

Adevărat (default), în cazul în care textul este afişat în caractere strikethrough (caracterele au o linie peste ele).

Font Underline

Adevărat (default), în cazul în care textul este afişat în caractere subliniate.

ForeColor

Culoarea textului din interiorul textului.

Height

(Înălţime)



Înălţimea controlului etichetei, în twips.

Cursor

(Cursorul de Mouse)



Forma pe care o ia cursorul atunci când utilizatorul mişcă mouse-ul peste controlul etichetei. Reprezintă o gamă de forme diferite pe care le poate lua cursorul.

Name

(Numele)



Numele controlului. Default, Visual Basic generează numele Label1, Label2 şi aşa mai departe, pe măsură ce adăugaţi mai multe controale de etichetă la formă.

TabIndex

Ordinea numerotării începe de la 0 şi creşte de fiecare dată când adăugaţi un nou control. Puteţi schimba ordinea evidenţierii schimbând TabIndex la alte valori. Nu se poate ca două controale de pe aceeaşi formă să aibă aceeaşi valoare TabIndex

Tag

Nu se foloseşte de către Visual Basic. Aceasta este destinată programatorului pentru identificarea unui comentariu aplicat la controlul etichetei.

Visible

(Vizibil)



Adevarat sau fals, arată dacă utilizatorul poate vedea sau nu (şi deci poate folosi sau nu) respectivul control de etichetă.

Width

(Lăţimea)



Numărul de twips pe care-i ocupă respectivul control etichetă în lăţime.



Tabelul 2. Evenimentele controlului Etichetă (Label)

Eveniment

Descriere

Click

Apare când utilizatorul efectuează click pe etichetă.

Double Click

Apare când utilizatorul efectuează dublu click pe etichetă..

DragDrop

Apare când operaţiunea “drag” a etichetei se încheie.

DragOver

Apare în timpul unei operaţiuni “drag” a etichetei.

MouseDown

Apare când utilizatorul apasă butonul de mouse pe etichetă.

MouseMove

Apare când utilizatorul mişcă mouse-ul peste etichetă.

MouseUp

Apare când utilizatorul eliberează butonul de mouse pe etichetă.


3.3.2. Controlul Casetă de text (TextBox)
Spre deosebire de controlul etichetă, controlul Casetă de text este folosit pentru a afişa textul specificat de dumneavoastră din faza de proiectare (la proprietatea Text), sau introdus de utilizator la execuţie sau asociat controlului prin program.

Prin urmare acest control poate fi folosit şi pentru ca aplicaţia să preia diferite informaţii de la utilizatori. Textul care se va afişa sau care va fi preluat se gestionează cu ajutorul proprietăţii Text.

Dacă textul trebuie afişat pe mai multe linii, proprietatea MultiLine trebuie să aibă valoarea True. Dacă este necesar, cu ajutorul proprietăţii ScrollBars se pot adăuga bare de defilare controlului.
    Exerciţiul 1:

Să se realizeze o aplicaţie care să realizeze concatenarea a două şiruri introduse de la tastatură.



Rezolvare:

Vom proiecta o formă pe care vom specifica funcţiile aplicaţiei şi vom pune la dispoziţia utilizatorului două casete de tip Text (Text Box) pentru a specifica cele două şiruri şi o a treia casetă pentru a afişa rezultatul.

Vom mai pune la dispoziţia utilizatorului un buton de comandă pentru a determina procedura de calcul, un buton pentru ieşirea din aplicaţie şi unul pentru a şterge conţinutul casetelor în vederea reluării calculului (un fel de Reset).

Vom şterge textul scris iniţial la proprietatea Text a celor trei casete de text (Text1, Text2 şi respectiv Text3) şi vom lăsa deci spaţiu.

Vom scrie la proprietatea Text a fiecărui buton de comandă textul dorit, respectiv: Concatenare, Reset, EXIT.

La lansarea în execuţie (cu DEBUG – Start Debugging sau apăsând tasta F5) aplicaţia se prezintă astfel:



untitled.png

Utilizatorul va introduce cele două şiruri şi, dacă va acţiona butonul Concatenare aplicaţia va afişa rezultatul obţinut, astfel:



untitled.png
Acţionând butonul Reset aplicaţia iniţializează cu spaţiu conţinutul celor trei casete de text şi este gata să accepte alte valori ale celor 2 şiruri. Prin urmare, procedura de cod asociată acestui buton de comandă va trebui să realizeze aceste funcţiuni.

untitled.png

Procedurile asociate celor trei butoane de comandă sunt:


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

TextBox3.Text = TextBox1.Text + TextBox2.Text

End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

End


End Sub

Exerciţiul 2:

Adăgaţi pe forma de mai sus un buton nou, la apăsarea căruia să se calculeze suma a două numere introduse de la tastatură prin intermediul celor două casete de text.



Rezolvare:

Vom modifica mai întâi textul afişat în partea de sus pentru a preciza corect funcţiile aplicaţiei.

Din analiza problemei, reiese că se poate cere fie concatenarea (alipirea) valorilor introduse în cele două casete de text, fie suma acestora, dacă au fost introduse valori numerice.

untitled.png

În acest caz, procedura de calcul asociată butonului nou introdus introduce funcţii de conversie: Val(şir) - pentru a transforma şirul de caractere din variabila Text în valoare numerică şi a se putea efectua astfel calculul aritmetic (adunarea).

Procedura va fi în acest caz:

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)

End Sub


Prezentăm în continuare lista detaliată a proprietăţilor şi evenimentelor controlului TextBox:
Tabelul 1. Proprietăţile controlului Text Box.

Proprietate

Descriere

BackColor

(Culoarea de fundal)



Culoarea de fundal a respectivului text box. Puteţi selecta dintr-o paletă de culori afişată de Visual Basic când doriţi să stabiliţi proprietatea Culoarea de fundal. Culoarea prestabilită (default) este aceeaşi cu cea a formei.

BorderStyle

Setat la None atunci când nu există elemente de margine, FixedSingle pentru margini cu mărime fixă; Fixed3D pentru margine cu mărime fixă care include o muchie dublă.

Enabled

(Activat)



Dacă este setat True (default) acel text box poate răspunde la evenimente. Altfel, Visual Basic opreşte procesarea evenimentelor pentru controlul respectiv.

Font Bold

Adevărat (default), în cazul în care textul este afişat în caractere bold.

Font Italic

Adevărat (default), în cazul în care textul este afişat în caractere italice.

Font Name

(Numele Fontului)



Numele tipului de caractere folosit de text box. În mod normal, veţi folosi numele unui font TrueType din Windows.

FontSize

(Mărime Font)



Mărimea, în puncte, a fontului folosit pentru scrierea textului din controlul text box.

Font Strikethrough

Adevărat (default), în cazul în care textul este afişat în caractere strikethrough (caracterele au o linie peste ele).

Font Underline

Adevărat (default), în cazul în care textul este afişat în caractere subliniate.

ForeColor

Culoarea textului din interiorul proprietăţii Text.

Height

(Înălţimea)



Înălţimea respectivului text box în twips.

MaxLength

Dacă este 0 (default), atunci limita valorii textului poate fi până la 32767de caractere. Altfel, MaxLength specifică numărul de caractere pe care utilizatorul le poate introduce în text box.

Cursor

(Cursorul de mouse)



Forma pe care o ia cursorul atunci când utilizatorul mişcă mouse-ul peste text box. reprezintă o gamă de forme diferite pe care le poate lua cursorul.

MultiLine

Dacă este True, respectivul text box poate afişa mai mult de o linie de text. Dacă este Fals (default), acel text box conţine o singură linie de text, adesea lungă. Textul poate conţine un carriage return.

Name

(Numele)


Numele controlului. Default, Visual Basic generează numele Text1, Text2 şi aşa mai departe, pe măsură ce adăugaţi mai multe text box la formă.

PasswordChar

Dacă introduceţi un caracter, cum ar fi un asterisc (*) pentru PasswordChar, Visual Basic nu afişează textul utilizatorului, ci caracterul respectiv (în timp ce utilizatorul introduce textul). Folosiţi text box cu setarea PasswordChar atunci când utilizatorul are nevoie de o parolă şi nu doriţi ca alţii să vadă parola introdusă. Astfel, în timp ce respectivul text box va recepta caracterele tastate de utilizator, pe ecran vor fi afişate doar caracterele PasswordChar.

ScrollBars

Setat pe 0 când nu există bare de scroll, 1 pentru o bară orizontală, 2 pentru o bară verticală sau 3 pentru ambele tipuri de bare.

TabIndex

Ordinea numerotării începe de la 0 şi creşte de fiecare dată când adăugaţi un nou control. Puteţi schimba ordinea evidenţierii schimbând TabIndex la alte valori. Nu se poate ca două controale de pe aceeaşi formă să aibă aceeaşi valoare TabIndex.

TabStop

Dacă este True, utilizatorul poate apăsa Tab pentru a muta evidenţierea pe acest control de etichetă. Dacă este fals, acest control de etichetă nu poate fi evidenţiat.

Tag

Nu se foloseşte de către Visual Basic. Aceasta este destinată programatorului pentru identificarea unui comentariu aplicat la text box.

Text

Valoarea inţială pe care utilizatorul o vede în text box. Valoarea default este numele controlului. Valoarea continuă să se updateze pe măsură ce utilizatorul introduce noi texte în tipul rulării. .

Visible

(Vizibil)



Adevarat sau fals, arată dacă utilizatorul poate vedea sau nu (şi deci poate folosi sau nu) respectivul text box.

Width

(Lăţime)


Numărul de twips pe care-i ocupă respectivul text box în lăţime




Tabelul 2. Evenimentele controlului Text Box.

Acţiune

Descriere

DragDrop

Apare când operaţiunea drag respectivului text box se încheie.

DragOver

Apare în timpul unei operaţiuni drag a unui text box.

KeyDown

Apare când utilizatorul apasă o tastă, atât timp cât proprietatea Previzualizare Tastă are valoarea Adevărat; altfel, text box primeşte evenimentul KeyDown.

KeyPress

Apare când utilizatorul apasă o tastă pe text box.

KeyUp

Apare când utilizatorul eliberează o tastă pe text box

  3.4. CONTROALE CARE PERMIT ALEGEREA UNOR OPŢIUNI


    Majoritatea aplicaţiilor permit utilizatorilor să aleagă dintre anumite opţiuni, pornind de la un simplu „da” sau „nu” până la selectarea unor articole dintr-o listă cu multe posibilităţi.


3.4.1. Caseta de validare (CheckBox)

    Un control casetă de validare oferă utilizatorilor posibilitatea de a alege sau nu o anumită opţiune. De regulă sunt prezentate utilizatorului mai multe opţiuni ataşate unor casete de validare, mai multe dintre acestea putând fi selectate la un moment dat. Când utilizatorul alege o opţiune, caseta de validare corespunzătoare opţiunii respective este marcată; semnul de marcare dispare când caseta este deselectată.

Prorietatea Checked este utilizată pentru a determina starea controlului: True= bifat, False= nebifat.

Cu ajutorul proprietăţii Text putem adăuga textul explicativ dorit în dreptul casetei. În cadrul unei forme pot exista deci o multitudine de casete de validare, utilizatorul având posibilitatea să bifeze câte doreşte. Ca şi la butoanele de comandă, evenimentul click al controlului apare ori de câte ori utilizatorul efectuează clic mouse pe caseta de validare. În acel moment procedura aferentă evenimentului clik al controlului îşi începe execuţia. Procedura asociată evenimentului va trebui să testeze starea în care se află caseta de validare şi, în funcţie de aceasta, să execute o anumită sarcină.


Exemplu:

Creaţi o formă pe care adăugaţi un control tip casetă de validare numit Verifica şi un control de tip etichetă numit Mesaj . Eticheta va afişa un text indicând starea casetei (bifată, nebifată sau indisponibilă).



Rezolvare:

Se defineşte caseta Chek cu numele Verifica şi mesajul respectiv.



untitled.png

Se definesc două controale tip etichetă: unul Label1 cu textul Starea casetei la proprietatea Text, şi altul Label2 având iniţial spaţiu la proprietatea Text. Aceasta îşi va modifica proprietatea Text în timpul execuâiei şi va afişa un mesaj corespunzător stării casetei.

Pentru aceasta se scrie procedura (cod) ataşată evenimentului Click al casetei de validare cu numele Verifică.

Executând aplicaţia noastră, se obţine:

Procedura ataşată evenimentului click al casetei Verifica este:

Private Sub Verifica_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Verifica.CheckedChangeduntitled.png

If Verifica.Checked = True Then

Label2.Text = "Caseta este bifata"

ElseIf Verifica.Checked = False Then

Label2.Text = "Caseta nu este bifata"

End If

End Sub


Prezentăm în continuare principalele proprietăţi şi evenimente ale controlului casetă de validare (CheckBox):

Tabel 1. Proprietăţile controlului Check Box

Proprietate

Descriere

BackColor

(Culoarea de fundal)



Culoarea de fundal a controlului check box. Puteţi selecta dintr-o paletă de culori afişată de Visual Basic când doriţi să stabiliţi proprietatea Culoarea de fundal. Culoarea prestabilită (default) este aceeaşi cu cea a formei.

Text


Textul care apare asociat unui check box. Dacă precedaţi orice caracter din text cu un &, acel caracter se va comporta ca tasta de acces a respectivului check box.

Enabled

(Activat)



Dacă este setat True (default), check box poate răspunde la evenimente. Altfel, Visual Basic opreşte procesarea evenimentelor pentru controlul respectiv.

Font Bold

Adevărat (default), în cazul în care textul asociat este afişat în caractere bold. Altel, Fals.

Font Italic

Adevărat (default), în cazul în care textul asociat este afişat în caractere italice. Altel, Fals.

Font Name

(Nume font)



Numele tipului de font folosit de textul din check box. În mod normal, veţi folosi numele unui font TrueType din Windows.

Font Size

(Mărime font)



Mărimea, în puncte, a fontului folosit pentru textul din check box.

Font Strikethrough

Adevărat (default), în cazul în care textul asociat este afişat în caractere strikethrough (caracterele au o linie peste ele). Altel, Fals.

Font Underline

Adevărat (default), în cazul în care textul asociat este afişat în caractere subliniate. Altel, Fals.

ForeColor

Codul hexadecimal de culoare al culorii textului asociat check box..

Height

(Înălţime)



Înălţimea, în twips, a unui check box.

Cursor

(Cursorul de Mouse)



Forma pe care o ia cursorul atunci când utilizatorul mişcă mouse-ul peste check box. Valorile posibile sunt de la 0 la 12 şi reprezintă o gamă de forme diferite pe care le poate lua cursorul.

Name

(Numele)



Numele controlului. Default, Visual Basic generează numele Check1, Check2 şi aşa mai departe, pe măsură ce adăugaţi mai multe check box la formă.

TabIndex

Ordinea de numerotare a controalelor din formă începe de la 0 şi creşte de fiecare dată când adăugaţi un nou control. Puteţi schimba ordinea evidenţierii schimbând TabIndex la alte valori. Nu se poate ca două controale de pe aceeaşi formă să aibă aceeaşi valoare TabIndex.

TabStop

Dacă este True, utilizatorul poate apăsa Tab pentru a muta evidenţierea pe acest check box. Dacă este fals, acest check box nu poate fi evidenţiat.

Tag

Nu se foloseşte de către Visual Basic. Aceasta este destinată programatorului pentru identificarea unui comentariu aplicat la check box.

Checked

Arată starea respectivului check box. Poate lua valorile: False- neselectat (default) sau True-selectat.

Visible

(Vizibil)



Adevarat sau fals, arată dacă utilizatorul poate vedea sau nu (şi deci poate folosi sau nu) respectivul check box.

Width

(Lăţimea)



Numărul de twips pe care îi ocupă respectivul check box în lăţime.

Tabelul următor prezintă evenimentele disponibile pentru controalele check box. La fel ca în cazul butoanelor de opţiuni, Click este procedura cea mai des folosită.

Tabelul 2. Evenimentele controlului Ceck Box

Eveniment

Descriere

Click

Apare când utilizatorul efectuează click pe check box.

DragDrop

Apare când operaţiunea drag a unui check box se încheie.

DragOver

Apare în timpul unei operaţiuni drag.

KeyDown

Apare când utilizatorul apasă o tastă, atât timp cât proprietatea Previzualizare Tastă are valoarea Adevărat pentru controalele check box; altfel, controlul primeşte evenimentul KeyDown.

KeyPress

Apare când utilizatorul apasă o tastă peste check box.

KeyUp

Apare când utilizatorul eliberează o tastă.

3.4.2. Butonul de opţiune (RadioButton)


    Butoanele de opţiune pun la dispoziţia utilizatorului un set de opţiuni, dintre care acesta are posibilitatea să marcheze una singură la un moment dat. Selectarea unui buton implică automat deselectarea celorlalte. Eticheta implicită afişată pe buton poate fi schimbată atribuind proprietăţii Text valoarea dorită, adică textul care reprezintă opţiunea asociată butonului respectiv.

Butonul de opţiune care este marcat are proprietatea Checked = True, iar celelalte butoane din grup au proprietatea Checked = False.

De asemenea, de câte ori utilizatorul marchează sau demarchează un buton de opţiune se declanşează evenimentul click al controlului, care începe execuţia procedurii aferentă acestui eveniment. În această procedură putem scrie cod care să verifice starea butonului şi, în funcţie de aceasta, să execute o anumită funcţie.

Un buton de opţiune poate fi dezactivat atribuind proprietăţii Enable valoarea False. Dacă este dezactivat, butonul de opţiune apare în timpul execuţiei estompat.

Exerciţiu:

Modificaţi forma de mai jos, astfel încât în locul butoanelor de comandă să afişaţi butoane de opţiune, corespunzătoare celor două funcţii ale aplicaţiei: suma a două numere sau concatenarea a două şiruri.



untitled.png

Rezolvare:

vuntitled.png

Executând aplicaţia se obţine:



vuntitled.png

Procedura asociată evenimentului clic al butonului Calculează este acum:

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

If RadioButton1.Checked = True Then

TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
ElseIf RadioButton2.Checked = True Then

TextBox3.Text = TextBox1.Text + TextBox2.Text


End If

End Sub
Celelate două proceduri au rămas neschimbate:


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""


End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

End


End Sub

Observaţie:

Pentru a fi mai riguroşi ar trebui ca în procedura asociată butonului Reset (Button2_Click()) să iniţializăm şi butoanele de opţiune, deci să adăugăm comenzile:

RadioButton1.Checked=False

RadioButton2.Checked=False
Prezentăm în continuare principalele proprietăţi şi evenimente ale controlului Option Button:
Tabelul 1 Proprietăţile controlului Option Button

Proprietaze

Descriere

BackColor

(Culoarea de fundal)



Culoarea de fundal a butonului de opţiune. Numărul său hexadecimal reprezintă una din mulţimea de valori posibile de culoare din Windows. Puteţi selecta dintr-o paletă de culori afişată de Visual Basic când doriţi să stabiliţi această proprietate. Culoarea prestabilită (default) este aceeaşi cu cea a formei.

Text

Textul care apare pe un buton de opţiune. Dacă precedaţi orice caracter din text cu un &, acel caracter se va comporta ca tasta de acces a butonului de opţiuni.

Enabled

(Activat)



Dacă este setat True (default), butonul de opţiuni poate răspunde la evenimente. Altfel, Visual Basic opreşte procesarea evenimentelor pentru controlul respectiv.

Font Bold

Adevărat (default), în cazul în care textul din Text este afişat în caractere bold. Altel, Fals.

Font Italic

Adevărat (default), în cazul în care textul din Text este afişat în caractere italice. Altel, Fals.

FontName

Numele stilului folosit pentru textul butonului de opţiuni. În mod normal, veţi folosi numele unui font TrueType din Windows.

FontSize

(Mărime font)



Mărimea, în puncte, a fontului folosit pentru textul butonului de opţiuni.

Font Strikethrough

Adevărat (default), în cazul în care textul butonului este afişat în caractere strikethrough (caracterele au o linie peste ele). Altel, Fals.

Font Underline

Adevărat (default), în cazul în care textul butonului este afişat în caractere subliniate. Altel, Fals.

ForeColor

Codul hexadecimal de culoare al culorii textului asociat butonului de opţiuni.

Height

Înălţimea, în twips, a unui buton de opţiuni.

Cursor

(Cursorul de Mouse)



Forma pe care o ia cursorul atunci când utilizatorul mişcă mouse-ul peste butonul de opţiuni. Reprezintă o gamă de forme diferite pe care le poate lua cursorul.

Name

(Numele)


Numele controlului. Default, Visual Basic generează numele Option1, Option2 şi aşa mai departe, pe măsură ce adăugaţi mai multe opţiuni la formă.

TabIndex

Ordinea numerotării controalelor începe de la 0 şi creşte de fiecare dată când adăugaţi un nou control. Puteţi schimba ordinea evidenţierii schimbând TabIndex la alte valori. Nu se poate ca două controale de pe aceeaşi formă să aibă aceeaşi valoare TabIndex.

TabStop

Dacă este True, utilizatorul poate apăsa Tab pentru a muta evidenţierea pe acest buton de opţiuni. Dacă este fals, acest buton nu poate fi evidenţiat.

Tag

Nu se foloseşte de către Visual Basic. Aceasta este destinată programatorului pentru identificarea unui comentariu aplicat la butonul de opţiuni.

Checked

(Valoarea)



True sau False (default), indică faptul că butonul de opţiuni este selectat sau nu.

Visible

(Vizibil)



True sau False, arată dacă utilizatorul poate vedea sau nu (şi deci poate folosi sau nu) butonul de opţiuni.

Width

(Lăţimea)



Numărul de twips pe care îi ocupă butonul de opţiuni în lăţime.

Tabelul 2 conţine o listă de evenimente ale butonului de opţiuni care determină proceduri pe care le puteţi scrie. În general, procedura Click este cel mai des folosită pentru ca aplicaţia să execute o anumită acţiune atunci când utilizatorul selectează un anumit buton de opţiuni.

Tabelul 2. Evenimentele controlului Option Button

Eveniment

Descriere

Click

Apare când utilizatorul efectuează click pe butonul de opţiuni.

DragDrop

Apare când operaţiunea “drag”a unui buton de opţiuni se încheie.

DragOver

Apare în timpul unei operaţiuni “drag”.

KeyDown

Apare când utilizatorul apasă o tastă, atât timp cât proprietatea Previzualizare Tastă are valoarea Adevărat pentru controalele de pe butonul de opţiuni; altfel, controlul primeşte evenimentul KeyDown.

KeyPress

Apare când utilizatorul apasă o tastă peste butonul de opţiuni.

KeyUp

Apare când utilizatorul eliberează o tastă.

3.5. CASETA CU LISTĂ (LISTBOX)




    Caseta cu listă este un control care permite afişarea pe verticală a unei serii de articole din care utilizatorul poate alege unul sau mai multe. Dacă numărul de articole depăşeşte capacitatea de afişare a casetei cu listă proiectată, atunci ei i se vor asocia automat bare de derulare verticală, respectiv orizontală.
Observaţie:

Barele de derulare asociate automat casetelor cu text nu reprezintă acelaşi lucru cu controalele de tip bare de derulare, care pot fi introduse separat pentru a controla introducerea datelor.


În mod implicit articolele sunt afişate pe o singură coloană. Acest lucru poate fi schimbat prin modificarea proprietăţii MultiColumn. Valorile ce pot fi atribuite proprietăţii Multicolumn au următoarele semnificaţii:

False - caseta de tip listă are o singură coloană, cu derulare pe verticală;

True – casetă de tip listă multicoloană cu derulare pe orizontală.
Dacă dorim ca utilizatorul să poată selecta mai multe articole din listă, atunci trebuie stabilită corespunzător valoarea proprietăţii SelectionMode. Astfel, din lista de valori pusă la dispoziţie de proprietatea SelectionMode vom selecta valorile funcţie de semnificaţia lor, astfel:


  • None – nu permite nici o selecţie;

  • One – permite selecţie multiplă simplă; cu un clic mouse simplu sau prin acţionarea tastei Space se selectează sau se deselectează elementele suplimentare din listă;

  • MultiSimple – permite selecţia multiplă.

  • MultiExtended - permite selecţie multiplă extinsă.

Aceasta înseamnă practic că pentru a selecta mai multe articole din listă putem proceda astfel:

  • Selectăm primul articol, apoi ţinând tasta CTRL apăsată, selectăm pe rând cu clic mouse fiecare dintre articolele dorite.

  • Dacă articolele care trebuie selectate urmează unele după altele, atunci selectăm primul articol şi apoi cu tasta SHIFT apăsată, selectăm cu clic mouse ultimul articol dorit. Toate articolele cuprinse între primul şi ultimul articol selectat din listă vor fi selectate.

ProprietateaItems.Count'> Items.Count a unei liste returnează numărul de articole din listă. Proprietatea SelectedIndex este utilizată pentru a determina numărul articolului selectat. Numerotarea articolelor în listă începe de la 0. Pentru a prelucra selecţia se utilizează în special evenimentele Click sau DoubleClick ale casetei cu listă.

Adăugarea unui articol nou în listă se face cu metoda Items.Add, care are sintaxa:

Nume casetă. Items.Add element[,index]

unde:


  • nume casetă este numele obiectului tip listă (implicit este List1, List2, etc);

  • element este şirul de caractere care trebuie adăugat în listă şi care poate fi specificat ca atare, între “ “ sau conţinut într-o variabilă, al cărei nume trebuie precizat;

  • index – precizează poziţia din listă unde va fi inserat noul articol. Dacă lipseşte, articolul va fi adăugat la sfârşit. Dacă index = 0, articolul va fi adăugat la începutul listei. Dacă are o anumită valoare, articolul se va adăuga la poziţia respectivă.

Metoda Items.Add permite adăugarea de articole în listă fie în timpul proiectării, prin atribuirea de valori proprietăţii Items, fie în timpul execuţiei aplicaţiei, prin intermediul procedurilor apelate ca răspuns la acţiunile utilizatorului.

Astfel, la început articolele se vor înscrie la proprietatea Items, în lista pusă la dispoziţie. Pentru a trece la un nou articol se apasă tastele CTRL/ENTER.

Elementele din listă pot fi apoi ordonate, sortate, caz în care proprietatea Sorted trebuie să ia valoarea True. În acest caz însă nu mai avem voie să folosim metoda Items.Add cu index, pentru a controla noi poziţia în care se adaugă articolul în listă.

Accesul la un articol din listă se face prin proprietatea Items, al cărei format este:



Nume casetă.Items (index) unde:

Nume casetă este numele casetei (implicit este List1, List2, etc).

Index reprezintă poziţia articolului în listă (primul are numărul de ordine 0).

Items.Remove este metoda care permite ştergerea unui articol din listă, având formatul general:

Nume casetă.Items.RemoveAt( index)

Pentru ştergerea tuturor articolelor din listă se utilizează metoda Items.Clear, cu formatul:

Nume casetă.Items.Clear


Exerciţiul 1:

Să se realizeze o aplicaţie care să conţină o casetă cu listă (denumită automat List1). Să se afişeze (într-un control tip etichetă marcat în cadrul formei noastre) numărul articolului selectat de utilizator.


Rezolvare:

Proiectăm forma Form1, pe care definim:



  • un control etichetă, care să precizeze mesajul adresat utilizatorului, de a selecta produsul dorit din listă;

  • un control tip listă, în care înscriem iniţial la proprietatea List câteva articole;

  • un alt control etichetă, care să afişeze poziţia articolului selectat

untitled.png

Executând aplicaţia noastră se obţine:



untitled.png
Procedura asociată evenimentului Click asociat listei este:
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

Label3.Text = ListBox1.SelectedIndex

End Sub
Exerciţiul 2:

Completaţi aplicaţia anterioară astfel încât să permită adăugarea de noi articole în listă, precum şi ştergerea unora dintre ele.



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

ListBox1.Items.Add("Mere")


End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

ListBox1.Items.Remove(ListBox1.SelectedItem)

ListBox1.Refresh()

End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

Label3.Text = ListBox1.SelectedIndex

End Sub
Notă: Ori de câte ori se va executa, aplicaţia noastră va adăuga în listă numai articolul “ mere“, ceea ce nu este normal .


Exerciţiul 3:

Modificaţi aplicaţia de mai sus astfel încât de data aceasta procedura de adăugare a unui produs nou în listă să se facă prin introducerea datelor de la tastatură. Procedura va fi acum :

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

Dim sir As String

sir = InputBox("Introduceti noul produs")

ListBox1.Items.Add(sir)

End Sub


Am utilizat de date aceasta comanda de introducere a datelor de la tastatură InputBox şi am atribuit valoarea citită unei variabile sir care a fost anterior declarată (Public sir As String) în secţiunea General Declaration.
Prezentăm în continuare principalele proprietăţi, evenimente şi metode ale controlului List Box:
Tabel 1. Proprietăţile controlului List Box

Proprietate

Descriere

BackColor

(Culoarea de fundal)



Culoarea de fundal a list box. Numărul său hexadecimal reprezintă una din mulţimea de valori posibile de culoare din Windows. Puteţi selecta dintr-o paletă de culori afişată de Visual Basic cănd doriţi să stabiliţi proprietatea Culoarea de fundal. Culoarea prestabilită (default) este aceeaşi cu cea a formei.

MultiColumn

(Coloanele)



Poate lua valoarea False - caseta de tip listă are o singură coloană, cu derulare pe verticală sau True – casetă de tip listă multicoloană cu derulare pe orizontală.


Enabled

(Activat)



Dacă este setat pe valoarea logică True (default), controlul ListBox poate răspunde la evenimente. Altfel, Visual Basic opreşte procesarea evenimentelor pentru controlul respectiv.

Font Bold

Adevărat (default), dacă valorile din listă sunt afişate cu caractere bold. Altfel, Fals.

Font Italic

Adevărat (default), dacă valorile din listă sunt afişate în caractere italice. Altfel, Fals.

Font Name

Numele stilului de text folosit în text box. În mod normal, veţi folosi numele unui font TrueType din Windows.

Font Size

Mărimea, în puncte, a fontului folosit pentru valorile din list box.

Font Strikethrough

Adevărat (default), dacă valorile din listă sunt afişate în caractere sttrikethrough (caracterele au o linie peste ele). Altel, Fals.

Font Underline

Adevărat (default), dacă valorile din listă sunt afişate în caractere subliniate. Altel, Fals.

ForeColor

Culoarea valorilor din interiorul text box.

Height

(Înălţimea)



Înălţimea controlului list box. Se poate preciza sau se defineşte automat, funcţie de înălţimea aleasă pentru controlul list box.

Items

Permite introducerea elementelor din listă la momentul iniţial. Cu Ctrl/Enter se trece la un rând nou din listă.

Cursor

(Cursorul de Mouse)



Forma pe care o ia cursorul atunci când utilizatorul mişcă mouse-ul peste controlul list box. Reprezintă o gamă de forme diferite pe care le poate lua cursorul.

SelectionMode

(MultiSelecţia)



Poate lua valorile: None – nu permite nici o selecţie; One – permite selecţie multiplă simplă; cu un clic mouse simplu sau prin acţionarea tastei Space se selectează sau se deselectează elementele suplimentare din listă; MultiSimple – permite selecţia multiplă sau MultiExtended - permite selecţie multiplă extinsă.

Name

(Numele)



Numele controlului. Default, Visual Basic generează numele List1, List2 şi aşa mai departe, pe măsură ce adăugaţi mai multe controale list box.

Sorted

(Sortare)



Dacă are valoarea Fals (default), valorile apar în aceeaşi ordine în care programul le-a adăugat pe listă. Dacă este True (Adevărat), Visual Basic nu afişează valorile din list box ordonate numeric sau alfabetic.

TabIndex

Ordinea numerotării controalelor List Box începe de la 0 şi creşte de fiecare dată când adăugaţi un nou control de acelaşi tip. Puteţi schimba ordinea evidenţierii schimbând TabIndex la alte valori. Nu se poate ca două controale de pe aceeaşi formă să aibă aceeaşi valoare TabIndex (două List1 de exemplu).

TabStop

Dacă are valoarea True utilizatorul poate apăsa Tab pentru a muta cursorul pe acest list box. Dacă este fals, acest list box nu poate fi activat cu Tab.

Tag

Nu se foloseşte de către Visual Basic. Aceasta este destinată programatorului pentru identificarea unui comentariu aplicat la controlul list box.

Visible

(Vizibil)



Adevarat sau fals, arată dacă utilizatorul poate vedea sau nu (şi deci folosi) controlul list box.

Width

(Lăţimea)



Numărul de twips pe care le ocupă controlul list box în lăţime.


Observaţie:

Când plasăm un control ListBox pe o formă, decidem cât de înalt dorim să fie acel list box prin redimensionarea controlului la mărimea care se potriveşte cel mai bine. Este important să ne reamintim că dacă nu toate valorile încap în ListBox, Visual Basic adaugă bare de scroll la caseta tip listă, pe care utilizatorul le poate folosi pentru a vedea toate valorile.


Tabelul 2 prezintă cele mai multe evenimente pe care le acceptă controlul ListBox şi pe care le putem utiliza în programe.


Yüklə 0,99 Mb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin