Utilizarea controalelor ListBox şi ComboBox
Controalele ListBox şi ComboBox prezintă o listă de alternative utilizatorului. În mod predefinit, alternativele sunt afişate pe verticală într-o singură coloană, dar se poate stabili afişarea şi pe mai multe coloane. Dacă numărul de articole depăşeşte ceea ce poate fi afişat în ComboBox sau ListBox, controlului îi sunt adăugate automat bare de derulare. Figura 1 prezintă un control ListBox cu o singură coloană.
Figura 1 ListBox cu o singură coloană
Controlul ComboBox combină caracteristicile unui control TextBox cu cele ale unui control ListBox. Acest control permite utilizatorului să selecteze fie prin editare de text în ComboBox sau prin selectarea unui articol din lista sa. Figura 2 prezintă un ComboBox.
Figura 2 ComboBox
În comparaţie cu unele controale care conţin o singură valoare; de exemplu proprietatea Caption a controlului Label sau proprietatea Text a controlului TextBox, controalele ListBox şi ComboBox conţin valori multiple sau o colecţie de valori. Acestea au propriile lor metode pentru adăugarea, eliminarea sau furnizarea valorilor din cadrul colecţiilor lor în faza de rulare. Pentru a adăuga mai multe articole la un control ListBox numit List1, codul va fi:
List1.AddItem "Paris"
List1.AddItem "New York"
List1.AddItem "San Francisco"
Controalele ListBox şi ComboBox reprezintă o modalitate eficientă de a prezenta utilizatorului un număr mare de alternative într-un spaţiu limitat.
Utilizarea controlului ListBox
Un control ListBox prezintă o listă de alternative din care utilizatorul poate selecta una sau mai multe opţiuni.
Figura 3 Controlul ListBox
Controalele ListBox prezintă o listă de alternative utilizatorului. În mod implicit, alternativele sunt afişate pe verticală într-o singură coloană, deşi puteţi seta coloane multiple la fel de bine. Dacă numărul articolelor depăşeşte ceea ce poate fi afişat în ListBox, apar automat barele de derulare pe control. Utilizatorul se poate deplasa în sus şi în jos sau de la stânga la dreapta în cadrul listei. Figura 4 prezintă o listă pe o singură coloană.
Figura 4 ListBox cu o singură coloană
Evenimentele Click şi DblClick
O practică recomandată pentru evenimentele asociate controlului ListBox, în mod special atunci când controlul ListBox apare ca parte componentă a unei casete de dialog, este de a adăuga un buton de comandă pentru a-l utiliza împreună cu controlul ListBox. Procedura corespunzătoare evenimentului Click pentru acest buton va sublinia utilitatea selecţiei din cadrul controlului ListBox, îndeplinind orice acţiune care este alocată aplicaţiei.
Efectuarea unui dublu clic pe un articol din cadrul listei ar trebui să aibă acelaşi efect cu selectarea unui articol şi apoi efectuarea unui clic pe butonul de comandă. Pentru a realiza aceasta, în cadrul procedurii DblClick pentru controlul ListBox se apelează procedura Click pentru butonul de comandă:
Private Sub List1_DblClick ()
Command1_Click
End Sub
O altă posibilitate este de a seta proprietatea Value la valoarea True pentru butonul de comandă care va invoca automat procedura eveniment:
Private Sub List1_DblClick ()
Command1.Value = True
End Sub
Aceasta furnizează utilizatorilor mouse-ului o scurtătură, totuşi nu împiedică utilizatorii tastaturii să execute aceeaşi acţiune. Se observă că nu există echivalent de la tastatură pentru evenimentul DblClick.
Adăugarea articolelor la o listă
Pentru a adăuga articole la un ListBox, utilizaţi metoda AddItem, care are următoarea sintaxă:
obiect.AddItem articol [, index]
Tabelul 1
Argument
|
Descriere
|
obiect
|
Numele ListBox-ului.
|
articol
|
Expresie de tip şir de caractere care se adaugă la listă.
|
index
|
Specifică unde va fi inserat noul articol în cadrul listei. Indexul 0 reprezintă prima poziţie. Dacă indexul este omis, articolul este inserat la sfârşitul listei (sau în poziţia corespunzătoare ordinii de sortare).
|
În timp ce articolele listei sunt adăugate în mod obişnuit în cadrul procedurii eveniment Form_Load, puteţi utiliza metoda AddItem în orice moment. Aceasta vă conferă abilitatea de a adăuga articole listei în mod dinamic (ca răspuns la acţiunile utilizatorului).
Codul următor plasează “Germany”, “India”, “France” şi “USA” într-un ListBox numit List1.
Private Sub Form_Load ()
List1.AddItem "Germany"
List1.AddItem "India"
List1.AddItem "France"
List1.AddItem "USA"
End Sub
Ori de câte ori forma este încărcată în faza de rulare, lista apare după cum se vede în figura 5.
Figura 5 Lista cu ţări
Adăugarea unui articol într-o anumită poziţie
Pentru a adăuga un articol unei liste într-o anumită poziţie, specificaţi o valoare pentru index pentru noul articol. De exemplu, următoarea linie de cod inserează “Japan” în prima poziţie, deplasând celelalte articole în jos:
List1.AddItem "Japan", 0
Observaţi că 0, nu 1, este indexul care specifică primul articol în cadrul listei (vezi figura 6).
Figura 6 Adăugarea unui articol într-o listă
Adăugarea articolelor în faza de proiectare
Se pot adăuga, de asemenea, articole în cadrul listei în faza de proiectare prin setarea proprietăţii List din fereastra Properties a controlului ListBox. Atunci când selectaţi proprietatea List şi apoi efectuaţi clic pe săgeată în jos, puteţi să editaţi articolele din listă şi apoi să utilizaţi combinaţia de taste Ctrl+Enter pentru a începe o nouă linie. Puteţi să adăugaţi articole doar la sfârşitul listei. Aşadar, dacă doriţi să aranjaţi alfabetic lista, setaţi proprietatea Sorted la valoarea True.
Sortarea unei liste
Puteţi specifica ca articolele să fie adăugate unei liste în ordine alfabetică prin setarea proprietăţii Sorted la valoarea True şi omiterea indexului. Sortarea nu face diferenţiere între literele mici şi mari; astfel, cuvintele “japan” şi “Japan” sunt tratate la fel.
Atunci când proprietatea Sorted este setată la valoarea True, utilizarea metodei AddItem cu argumentul index poate conduce la rezultate neaşteptate, nesortate.
Eliminarea articolelor dintr-o listă
Puteţi utiliza metoda RemoveItem pentru a şterge articole dintr-un ListBox. RemoveItem are un singur argument, index, care specifică articolul care va fi eliminat:
obiect.RemoveItem index
Argumentele obiect şi index sunt aceleaşi ca şi în cazul metodei AddItem.
De exemplu, pentru a înlătura prima intrare dintr-o listă, adăugaţi următoarea linie de cod:
List1.RemoveItem 0
Pentru a elimina toate intrările dintr-un ListBox, utilizaţi metoda Clear:
List1.Clear
Preluarea conţinutului unei liste cu proprietatea Text
De obicei, cea mai uşoară modalitate de a prelua valoarea articolului curent selectat este de a folosi proprietatea Text. Proprietatea Text corespunde întotdeauna unui articol din listă pe care utilizatorul îl selectează în faza de rulare.
De exemplu, următorul cod afişează informaţii despre populaţia Canadei dacă utilizatorul selectează “Canada” dintr-un ListBox:
Private Sub List1_Click ()
If List1.Text = "Canada" Then
Text1.Text = "Popilatia Canadei este de 24 milioane locuitori."
End If
End Sub
Proprietatea Text conţine articolul curent selectat din cadrul ListBox-ului. Codul verifică dacă “Canada” a fost selectat, şi dacă este aşa, afişează informaţia în TextBox.
Accesarea articolelor din listă utilizând proprietatea List
Proprietatea List furnizează accesul la toate articolele dintr-o listă. Această proprietate conţine un tablou unidimensional în care fiecare articol din listă este un element din cadrul tabloului. Fiecare articol este reprezentat sub formă de şir de caractere. Pentru a ne referi la un articol din listă, utilizaţi sintaxa:
obiect.List( index)
Argumentul obiect este o referinţă la un ListBox, iar index este poziţia articolului. Primul articol are indexul 0, următorul are indexul 1, etc. De exemplu, următoarea instrucţiune afişează al treilea articol (index = 2) din listă într-un TextBox:
Text1.Text = List1.List(2)
Determinarea poziţiei cu proprietatea ListIndex
Dacă doriţi să ştiţi poziţia articolului selectat din listă utilizaţi proprietatea ListIndex. Această proprietate setează sau returnează indexul articolului curent selectat în control şi este disponibilă doar în faza de rulare. Setarea proprietăţii ListIndex pentru un ListBox generează, de asemenea, un eveniment Click pentru control.
Valoarea pentru această proprietate este 0, dacă primul articol este selectat, 1 dacă următorul este selectat, etc. ListIndex este -1 dacă nici un articol nu este selectat.
Observaţie: Proprietatea NewIndex permite păstrarea “urmei” indexului pentru ultimul articol adăugat în listă. Acest lucru poate fi util atunci când se inserează un articol într-o listă sortată.
Returnarea numărului de articole cu proprietatea ListCount
Pentru a returna numărul de articole dintr-un ListBox utilizaţi proprietatea ListCount. De exemplu, următoarea instrucţiune utilizează proprietatea ListCount pentru a determina numărul de intrări dintr-un ListBox:
Text1.Text = “Aveti ” & List1.ListCount & _
“ intrari in lista”
Crearea controalelor ListBox cu coloane multiple şi selecţii multiple
Proprietatea Columns vă permite să specificaţi numărul de coloane dintr-un ListBox. Această proprietate poate avea următoarele valori:
Tabelul 2
Valoare
|
Descriere
|
0
|
ListBox cu o singură coloană cu bară de derulare verticală.
|
1
|
ListBox cu o singură coloană cu bară de derulare orizontală.
|
> 1
|
ListBox cu coloane multiple cu bară de derulare orizontală.
|
Visual Basic realizează trecerea articolelor din listă pe următoarea linie şi adăugarea unei bare de derulare orizontală listei dacă este nevoie; dacă lista apare pe o singură coloană, nu este adăugată nici o bară de derulare. Trecerea pe următoarea coloană apare, de asemenea, în mod automat după cum este nevoie. Se observă că dacă un articol dintr-o listă este mai mare decât lăţimea coloanei, textul este trunchiat.
Se poate permite utilizatorilor să selecteze articole multiple dintr-o listă. Selecţia multiplă din listele standard se realizează prin setarea proprietăţii MultiSelect, care poate avea următoarele valori:
Tabelul 3
Valoare
|
Tipul selecţiei
|
Descriere
|
0
|
None
|
ListBox standard.
|
1
|
Selecţie multiplă
Simple
|
Un clic sau bara de spaţiu selectează sau deselectează articole adiţionale în listă.
|
2
|
Selecţie multiplă
Extended
|
Shift+clic sau Shift+o tastă direcţională extinde selecţia pentru a include toate articolele dintre selecţia curentă şi selecţia anterioară. Ctrl+clic selectează sau deselectează un articol din listă.
|
Aplicaţie Acest exemplu arată modul în care puteţi utiliza metodele AddItem, RemoveItem şi Clear împreună cu proprietăţile ListIndex şi ListCount pentru a adăuga şi a înlătura articole în faza de rulare. Aplicaţia din figura 7 permite utilizatorului să introducă numele unui client într-o casetă de text, care poate fi adăugat listei dacă se execută clic pe butonul Add. Utilizatorul poate înlătura un articol curent dintr-o listă prin selectarea articolului şi alegerea butonului Remove sau prin alegerea butonului Clear pentru a şterge toate articolele din listă.
Figura 7 Controlul ListBox care utilizează metodele AddItem, RemoveItem şi Clear
Numărul clienţilor din ListBox este afişat prin intermediul unei etichete care arată ca şi o casetă de text (BorderStyle este setat la 1-Fixed Single). Această etichetă este actualizată de fiecare dată când un client este adăugat sau eliminat. Deoarece proprietatea Sorted a controlului ListBox este setată la True, articolele sunt adăugate în listă în ordine alfabetică.
Se crează o formă cu o casetă de text, o listă, trei etichete şi patru butoane de comandă. Tabelul 4 prezintă o listă cu proprietăţile obiectelor din cadrul aplicaţiei.
Tabelul 4
Obiect
Visual Basic
|
Proprietate
|
Stabilirea proprietăţii în faza de proiectare
|
Formă
|
Name
Caption
|
frmListBox
Exemplu ListBox
|
Etichetă
|
Name
Caption
AutoSize
|
lblNume
&Nume care se adauga
True
|
Etichetă
|
Name
Caption
AutoSize
|
lblClienti
# Clienti
True
|
Etichetă care afişează numărul de clienţi (arată ca şi o casetă de text)
|
Name
Caption
BorderStyle
|
lblAfisare
(Empty)
1-Fixed Single
|
Casetă de text
|
Name
Text
|
txtNume
(Empty)
|
Listă
|
Name
Sorted
|
lstClient
True
|
Buton de comandă
|
Name
Caption
|
cmdAdd
&Add
|
Buton de comandă
|
Name
Caption
|
cmdRemove
&Remove
|
Buton de comandă
|
Name
Caption
|
cmdClear
C&lear
|
Buton de comandă
|
Name
Caption
|
cmdClose
&Close
|
Evenimentele din cadrul aplicaţiei Exemplu ListBox
Adăugaţi următorul cod procedurii eveniment Click asociată butonului de comandă cmdAdd:
Private Sub cmdAdd_Click()
lstClient.AddItem txtNume.Text 'Adaugare in lista.
txtNume.Text = "" 'Stergerea continutului casetei de text.
txtNume.SetFocus
'Afiseaza numarul.
lblAfisare.Caption = lstClient.ListCount
End Sub
Adăugaţi următorul cod procedurii eveniment Click asociată butonului de comandă cmdRemove:
Private Sub cmdRemove_Click()
Dim Ind As Integer
Ind = lstClient.ListIndex 'Returneaza indexul.
'Verificare daca este selectat articolul din lista.
If Ind >= 0 Then
'Se elimina articolul din lista.
lstClient.RemoveItem Ind
'Afiseaza numarul.
lblAfisare.Caption = lstClient.ListCount
Else
Beep
End If
cmdRemove.Enabled = (lstClient.ListIndex <> -1)
End Sub
Adăugaţi următorul cod procedurii eveniment Click asociată butonului de comandă cmdClear:
Private Sub cmdClear_Click()
lstClient.Clear
cmdRemove.Enabled = False
lblAfisare.Caption = lstClient.ListCount
End Sub
Adăugaţi următorul cod procedurii eveniment Click asociată butonului de comandă cmdClose:
Private Sub cmdClose_Click()
Unload Me
End Sub
Adăugaţi următorul cod procedurii eveniment Click asociată controlului ListBox lstClient:
Private Sub lstClient_Click()
cmdRemove.Enabled = lstClient.ListIndex <> -1
End Sub
Adăugaţi următorul cod procedurii eveniment Change asociată controlului TextBox txtNume:
Private Sub txtNume_Change()
cmdAdd.Enabled = (Len(txtNume.Text) > 0)
End Sub
Aplicaţie În cadrul următorului exemplu, pentru a crea o listă cu coloane şi selecţii multiple, trebuie setată atât proprietatea Columns, cât şi proprietatea MultiSelect. Se va observa la rularea aplicaţiei că lista va conţine două coloane, după cum se vede în figura 8.
Figura 8 Controlul ListBox cu coloane multiple
Dacă se desenează controlul ListBox suficient de mare pentru a conţine toate articolele dintr-o singură coloană, cea de a doua coloană va fi goală.
Exemplul utilizează proprietatea Selected – un şir Boolean conţinând starea selecţiei unui ListBox – pentru a determina care articole sunt selectate. Fiecare element din şir corespunde unui articol din listă şi este setat la valoarea True dacă articolul este selectat sau False dacă nu este selectat. După ce utilizatorul selectează articole din listă, fiecare element din şir este verificat pentru a vedea dacă este setat (True). Dacă este, elementul este adăugat celei de a doua liste, care este un control standard ListBox cu o singură coloană, utilizând metoda AddItem.
Setarea proprietăţilor pentru acest exemplu este indicată în tabelul 5.
Tabelul 5
Obiect
Visual Basic
|
Proprietate
|
Stabilirea proprietăţii în faza de proiectare
|
Formă
|
Name
Caption
|
frmMultipleColumnListBox
Multiple-ColumnListBox
|
Listă
|
Name
Columns
MultiSelect
|
lstTop
2
2-Extended
|
Listă
|
Name
|
lstBottom
|
Buton de comandă
|
Name
Caption
|
cmdTransfer
&Transfer
|
Buton de comandă
|
Name
Caption
|
cmdClear
C&lear
|
Buton de comandă
|
Name
Caption
|
cmdClose
&Close
|
Proprietatea MultiSelect vă permite să selectaţi un domeniu de valori dintr-o listă. Dacă executaţi clic pe primul articol din listă şi apoi apăsaţi Shift şi efectuaţi clic pe ultimul articol din domeniu (sau utilizaţi Shift+↓), toate articolele din domeniu sunt selectate.
Evenimentele din cadrul aplicaţiei Multiple-Column ListBox
Adăugaţi cod procedurii Form_Load pentru a iniţializa prima listă, lstTop:
Private Sub Form_Load()
lstTop.AddItem "Paris"
lstTop.AddItem "New Orleans"
lstTop.AddItem "San Francisco"
lstTop.AddItem "Chicago"
lstTop.AddItem "Seattle"
lstTop.AddItem "Toronto"
lstTop.AddItem "New York"
lstTop.AddItem "Tbilisi"
lstTop.AddItem "Moscow"
lstTop.AddItem "Portland"
'Selectati primele doua articole.
lstTop.Selected(0) = True
lstTop.Selected(1) = True
End Sub
Observaţie Puteţi să adăugaţi articole în listă fără a utiliza în mod repetat metoda AddItem prin introducerea articolelor în proprietatea List din cadrul ferestrei Properties. După introducerea fiecărui articol, apăsaţi Ctrl+Enter pentru a trece pe linia următoare. Aceasta vă permite să introduceţi mai multe articole într-o listă cu coloane multiple.
Adăugaţi următorul cod procedurii lstTop_DblClick:
Private Sub lstTop_DblClick()
cmdTransfer.Value = True
End Sub
Adăugaţi următorul cod procedurii eveniment Click pentru butonul de comandă cmdTransfer:
Private Sub cmdTransfer_Click()
For n = 0 To (lstTop.ListCount - 1)
'Daca este selectat, se adauga listei.
If lstTop.Selected(n) = True Then
lstBottom.AddItem lstTop.List(n)
End If
Next
cmdClear.Enabled = True
End Sub
Observaţi cum şirul de valori pentru index începe de la 0 până la ListCount-1.
Adăugaţi următorul cod procedurii eveniment Click pentru butonul de comandă cmdClear:
Private Sub cmdClear_Click()
lstBottom.Clear
cmdClear.Enabled = False
End Sub
Adăugaţi următorul cod procedurii eveniment Click pentru butonul de comandă cmdClose:
Private Sub cmdClose_Click()
Unload Me
End Sub
Utilizarea controlului ComboBox
În general, utilizarea unui control ComboBox este potrivită atunci când este o listă de alternative propuse, iar utilizarea unui control ListBox este potrivită atunci când vreţi să limitaţi intrările la ceea ce se regăseşte în cadrul listei. Un control ComboBox conţine un câmp de editare, astfel încât alternativele care nu sunt în listă pot fi editate în acest câmp.
În plus, controalele ComboBox economisesc spaţiu pe formă.
Stiluri disponibile pentru ComboBox
Sunt trei stiluri disponibile pentru controlul ComboBox. Fiecare stil poate fi stabilit în faza de proiectare şi utilizează valori sau constante Visual Basic echivalente (vezi tabelul 6).
Tabelul 6
Stil
|
Valoare
|
Constantă
|
Dropdown Combo
|
0
|
vbComboDropDown
|
Simple Combo
|
1
|
vbComboSimple
|
Dropdown List
|
2
|
vbComboDropDownList
|
Figura 9 Stiluri pentru ComboBox
Drop-down ComboBox
Utilizatorul poate fie să introducă text direct (ca şi într-o casetă de text) sau să execute clic pe săgeata din dreapta controlului ComboBox pentru a deschide o listă de alternative. Selectarea uneia dintre alternative determină inserarea acesteia în porţiunea de text situată în partea superioară a controlului ComboBox. Utilizatorul poate, de asemenea, să deschidă lista prin combinaţia de taste Alt+↓ atunci când controlul are focalizarea.
Simple ComboBox
Utilizând acest stil, lista este afişată permanent. Pentru a afişa toate intrările din listă, trebuie redesenat controlul pentru ca să fie suficient de mare pentru a afişa intrările. O bară de derulare este inserată automat atunci când sunt mai multe intrări decât pot fi afişate. Utilizatorul poate, însă, să introducă text direct sau să-l selecteze din listă.
Drop-down ListBox
Utilizând acest stil, controlul este ca o listă obişnuită – acesta afişează o listă de articole din care utilizatorul trebuie să aleagă. Spre deosebire de controalele ListBox, lista nu este afişată până când nu se execută clic pe săgeata din partea dreaptă a controlului. În acest caz, utilizatorul nu poate să editeze în casetă, poate doar să selecteze un articol din listă. Utilizaţi acest stil pentru control atunci când spaţiul este primordial.
Adăugarea articolelor
Pentru a adăuga articole unui ComboBox, utilizaţi metoda AddItem, care are următoarea sintaxă:
obiect.AddItem articol [, index]
Tabelul 7
Argument
|
Descriere
|
Obiect
|
Numele ComboBox-ului.
|
Articol
|
Expresie de tip şir de caractere care se adaugă la listă.
|
Index
|
Specifică unde va fi inserat noul articol în cadrul listei. Indexul 0 reprezintă prima poziţie. Dacă indexul este omis, articolul este inserat la sfârşitul listei (sau în poziţia corespunzătoare ordinii de sortare).
|
Următorul cod plasează “Chardonnay”, “Fumé Blanc”, “Gewűrztraminer” şi “Zinfandel” într-un ComboBox numit Combo1, având proprietatea Style setată la 0 (vbComboDropDown):
Private Sub Form_Load ()
Combo1.AddItem "Chardonnay"
Combo1.AddItem "Fumé Blanc"
Combo1.AddItem "Gewürztraminer"
Combo1.AddItem "Zinfandel"
End Sub
Ori de câte ori forma este încărcată în memorie în faza de rulare şi utilizatorul efectuează clic pe săgeată în jos, lista apare ca în figura 10.
Figura 10 ComboBox cu lista de vinuri
Adăugarea articolelor în faza de proiectare
Se pot adăuga, de asemenea, articole în cadrul listei în faza de proiectare prin setarea proprietăţii List din fereastra Properties a controlului ComboBox. Atunci când selectaţi proprietatea List şi apoi efectuaţi clic pe săgeată în jos, puteţi să editaţi articolele din listă şi apoi să utilizaţi combinaţia de taste Ctrl+Enter pentru a începe o nouă linie. Puteţi să adăugaţi articole doar la sfârşitul listei. Aşadar, dacă doriţi să aranjaţi alfabetic lista, setaţi proprietatea Sorted la valoarea True.
Adăugarea unui articol într-o anumită poziţie
Pentru a adăuga un articol unei liste într-o anumită poziţie, specificaţi o valoare pentru index după noul articol. De exemplu, următoarea linie de cod inserează “Pinot Noir” în prima poziţie, deplasând celelalte articole în jos:
Combo1.AddItem "Pinot Noir", 0
Observaţi că este 0, nu 1, este indexul care specifică primul articol din cadrul listei (vezi figura 11).
Figura 11 Adăugarea unui articol într-o listă
Sortarea unei liste
Puteţi specifica ca articolele să fie adăugate unei liste în ordine alfabetică prin setarea proprietăţii Sorted la valoarea True şi omiterea indexului. Sortarea nu face diferenţiere între literele mici şi mari; astfel, cuvintele “chardonnay” şi “Chardonnay” sunt tratate la fel.
Atunci când proprietatea Sorted este setată la valoarea True, utilizarea metodei AddItem cu argumentul index poate conduce la rezultate neaşteptate, nesortate.
Eliminarea articolelor
Puteţi utiliza metoda RemoveItem pentru a şterge articole dintr-un ComboBox. RemoveItem are un singur argument, index, care specifică articolul care va fi eliminat:
obiect.RemoveItem index
Argumentele obiect şi index sunt aceleaşi ca şi în cazul metodei AddItem.
De exemplu, pentru a înlătura prima intrare dintr-o listă, adăugaţi următoarea linie de cod:
Combo1.RemoveItem 0
Pentru a elimina toate intrările dintr-un ComboBox, utilizaţi metoda Clear:
Combo1.Clear
Preluarea conţinutului unei liste cu proprietatea Text
De obicei, cea mai uşoară modalitate de a prelua valoarea articolului curent selectat este de a folosi proprietatea Text. Proprietatea Text corespunde la ceea ce se introduce în regiunea de text a controlului în faza de rulare. Aceasta este fie un articol selectat din listă, fie un şir de caractere pe care utilizatorul îl introduce în zona de text.
De exemplu, următorul cod afişează informaţii despre Chardonnay dacă utilizatorul selectează “Chardonnay” din listă:
Private Sub Combo1_Click ()
If Combo1.Text = "Chardonnay" Then
Text1.Text = "Chardonnay este un vin alb."
End If
End Sub
Proprietatea Text conţine articolul curent selectat din cadrul ComboBox-ului. Codul verifică dacă “Chardonnay” a fost selectat, şi dacă este aşa, afişează informaţia în TextBox.
Accesarea articolelor din listă utilizând proprietatea List
Proprietatea List furnizează accesul la toate articolele dintr-o listă. Această proprietate conţine un tablou unidimensional în care fiecare articol din listă este un element din cadrul tabloului. Fiecare articol este reprezentat sub formă de şir de caractere. Pentru a ne referi la un articol din listă, utilizaţi sintaxa:
obiect.List( index)
Argumentul obiect este o referinţă la ComboBox, iar index este poziţia articolului. Primul articol are indexul 0, următorul are indexul 1, etc. De exemplu, următoarea instrucţiune afişează al treilea articol (index = 2) din listă într-un TextBox:
Text1.Text = Combo1.List(2)
Determinarea poziţiei cu proprietatea ListIndex
Dacă doriţi să ştiţi poziţia articolului selectat din listă într-un ComboBox utilizaţi proprietatea ListIndex. Această proprietate setează sau returnează indexul articolului curent selectat în control şi este disponibilă doar în faza de rulare. Setarea proprietăţii ListIndex pentru un ComboBox generează, de asemenea, un eveniment Click pentru control.
Valoarea pentru această proprietate este 0, dacă primul articol este selectat, 1 dacă următorul este selectat, etc. ListIndex este -1 dacă nici un articol nu este selectat sau dacă utilizatorul introduce o alternativă în ComboBox (Style 0 sau 1) în loc să selecteze un articol existent în listă.
Observaţie: Proprietatea NewIndex permite păstrarea “urmei” indexului pentru ultimul articol adăugat în listă. Acest lucru poate fi util atunci când se inserează un articol într-o listă sortată.
Returnarea numărului de articole cu proprietatea ListCount
Pentru a returna numărul de articole dintr-un ComboBox utilizaţi proprietatea ListCount. De exemplu, următoarea instrucţiune utilizează proprietatea ListCount pentru a determina numărul de intrări dintr-un ComboBox:
Text1.Text = “Aveti ” & Combo1.ListCount & _
“ intrari in lista”
Dostları ilə paylaş: |