Combo VB.NetBox Controlați cu EXEMPLU
Ce este Combobox Control?
Controlul casetei combinate vă ajută să afișați o listă derulantă cu multe elemente. Vedeți-l ca o combinație între o casetă de text în care un utilizator introduce text și o listă derulantă din care un utilizator selectează un articol. Rețineți că caseta combinată arată câte un articol.
Crearea unei casete combinate
Un ComboBox poate fi creat astfel:
Pas 1) Creați o nouă aplicație.
Pas 2) Trageți un control combobox din caseta de instrumente în formular.
Veți fi creat un control combobox.
Adăugarea de articole în Combobox
Acum că am creat o casetă combinată, haideți să demonstrăm cum să adăugați elemente la ea.
Double faceți clic pe controlul casetei combinate pe care ați adăugat-o. Veți fi mutat din fila design în fila cu cod.
Pentru a adăuga un articol la un control combobox, folosim proprietatea Items. Să demonstrăm acest lucru adăugând două elemente în caseta combinată, Masculin și Femeie:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
De asemenea, putem alege să adăugăm elemente în caseta combinată în timpul proiectării din fereastra Proprietăți. Iată pașii:
Pas 1) Deschideți fila design și faceți clic pe controlul casetei combinate.
Pas 2) Treceți la fereastra Proprietăți și vizualizați opțiunea Elemente.
Pas 3) Faceți clic pe … situat în dreapta (Colecție).
Pas 4)Veți vedea o nouă fereastră. Aici ar trebui să adăugați elemente în caseta combinată, așa cum se arată mai jos:
Pas 5) După ce ați terminat de tastat elementele, faceți clic pe butonul OK.
Pas 6) Faceți clic pe butonul Start din bara de instrumente de sus și faceți clic pe pictograma drop-down din caseta combinată.
Elementele au fost adăugate cu succes la controlul casetei combinate.
Selectarea articolelor din caseta combinată
Poate fi necesar să setați elementul implicit care va fi selectat atunci când formularul este încărcat. Puteți realiza acest lucru prin metoda SelectedItem(). De exemplu, pentru a seta sexul selectat implicit la Masculin, puteți utiliza următoarea afirmație:
ComboBox1.SelectedItem = "Male"
Când rulați codul, controlul casetei combinate ar trebui să fie așa cum se arată mai jos:
Preluarea valorilor casetei combinate
Puteți obține articolul selectat din caseta dvs. combinată. Acest lucru se poate face folosind proprietatea text. Să demonstrăm acest lucru folosind caseta noastră combinată de mai sus cu două elemente, adică Masculin și Femeie. Urmați pașii de mai jos:
Pas 1) Double faceți clic pe caseta combinată pentru a deschide fila cu VB.NET cod.
Pas 2) Adăugați următorul cod:
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim var_gender As String var_gender = ComboBox1.Text MessageBox.Show(var_gender) End Sub End Class
Pas 3) Faceți clic pe butonul Start din bara de instrumente pentru a executa codul. Ar trebui să obțineți următorul formular:
Pas 4) Faceți clic pe butonul drop-down și alegeți sexul dvs. In cazul meu. Aleg Masculin și primesc următoarele:
Iată o captură de ecran a codului:
Explicația codului:
- Crearea unei clase numite Form1. Clasa va fi accesibilă public, deoarece modificatorul său de acces a fost setat la Public.
- Pornirea unei sub-proceduri numită ComboBox1_SelectedIndexChanged. Acesta este generat automat când faceți dublu clic pe controlul casetei combinate din fila design. Această subprocedură va fi invocată atunci când selectați un articol din caseta combinată. sd As Object face referire la obiectul care a generat evenimentul, în timp ce evenimentul As EventArgs are datele evenimentului.
- Crearea unui șir întreg numit var_gender.
- Setarea valorii variabilei var_gender la elementul care este selectat în caseta combinată.
- Imprimarea valorii variabilei var_gender pe un MesajBox.
- Sfârșitul Combo-uluiBox1_SelectedIndexChanged subprocedură.
- Sfârșitul clasei Form1.
Eliminarea elementelor din caseta combinată
Este posibil să eliminați un articol din caseta dvs. combinată. Există două moduri prin care puteți realiza acest lucru. Puteți utiliza fie indexul articolului, fie numele articolului.
Când utilizați indexul articolului, ar trebui să utilizați proprietatea Items.RemoveAt() așa cum se arată mai jos:
ComboBox1.Items.RemoveAt(1)
În exemplul de mai sus, eliminăm elementul situat la indexul 1 al casetei combinate. Rețineți că indexurile casetei combinate încep la indexul 0, ceea ce înseamnă că comanda de mai sus va elimina al doilea element al casetei combinate.
Pentru a elimina elementul folosind numele său, ar trebui să utilizați proprietatea Items.Remove() după cum se arată mai jos:
ComboBox1.Items.Remove("Female")
Codul de mai sus ar trebui să elimine elementul numit Femeie din ComboBox1.
Legarea sursei de date
Un ComboBox poate fi populat dintr-un set de date. Luați în considerare interogarea SQL dată mai jos:
select emp_id, emp_name from employees;
Puteți crea o sursă de date într-un program, apoi utilizați următorul cod pentru a o lega:
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
Acest lucru vă va oferi o modalitate ușoară de a completa controlul casetei combinate cu date fără a fi nevoie să tastați fiecare articol individual.
Eveniment SelectedIndexChanged
Acest tip de eveniment este invocat atunci când modificați elementul selectat în caseta dvs. combinată. Este evenimentul pe care ar trebui să-l utilizați atunci când trebuie să implementați o acțiune la o modificare a articolului selectat dintr-o casetă combinată. Să demonstrăm acest lucru folosind un exemplu:
Pas 1) Creați o nouă aplicație Window Forms.
Pasul 2) După aceea, trebuie Trageți și plasați două controale combobox în formular.
Pas 3) Double faceți clic în interiorul formularului pentru a deschide fila pentru cod. Introdu următorul cod:
Public Class Form1 Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Males") ComboBox1.Items.Add("Females") End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.SelectedItem = "Males" Then ComboBox2.Items.Add("Nicholas") ComboBox2.Items.Add("John") ElseIf ComboBox1.SelectedItem = "Females" Then ComboBox2.Items.Add("Alice") ComboBox2.Items.Add("Grace") End If End Sub End Class
Pas 4) Faceți clic pe butonul Start din bara de sus pentru a rula codul. Ar trebui să obțineți următorul rezultat:
Pas 5) Faceți clic pe butonul drop-down din prima casetă combinată și alegeți Masculin. Mutați cursorul mouse-ului în a doua casetă combinată și faceți clic pe butonul derulant al acestuia. Vezi articolele disponibile:
Pas 6) Treceți la prima casetă combinată și alegeți Femeie. Treceți la a doua casetă combinată și vedeți elementele disponibile:
Iată o captură de ecran a codului:
Explicația codului:
- Crearea unei clase numite Form1.
- Începutul unei sub-proceduri numită Form1_Load(). Aceasta va fi declanșată odată ce formularul este încărcat. sd As Object face referire la obiectul care a generat evenimentul, în timp ce sistemul As EventArgs are datele despre eveniment.
- Adăugarea articolului Masculi la ComboBox1.
- Adăugarea articolului Femele la ComboBox1.
- Sfârșitul sub-procedurii Form1_Load().
- Începutul unei sub-proceduri numită ComboBox1_SelectedIndexChanged(). Acesta va fi invocat atunci când un articol este selectat în prima casetă combinată. Expeditorul ca obiect face referire la obiectul care a generat evenimentul în timp ce e As EventArgs are datele evenimentului.
- Faceți ComboBox2 gol, șterge toate elementele din el.
- Crearea unei condiții. Verificați dacă elementul selectat în ComboBox1 este bărbați.
- Adăugați articolul Nicholas la ComboBox2 când condiția de mai sus este adevărată, adică elementul selectat în ComboBox1 este bărbat.
- Adăugați articolul John la ComboBox2 când condiția de mai sus este adevărată, adică elementul selectat în ComboBox1 este bărbați.
- Crearea unei condiții. Verificați dacă elementul selectat în ComboBox1 este Femeile.
- Adăugați articolul Alice în ComboBox2 când condiția de mai sus este adevărată, adică elementul selectat în ComboBox1 este Femeile.
- Adăugați elementul Grace la ComboBox2 când condiția de mai sus este adevărată, adică elementul selectat în ComboBox1 este Femeile.
- Sfârșitul blocului If.
- Sfârșitul Combo-uluiBox1_SelectedIndexChanged() subprocedură.
- Sfârșitul clasei Form1.
Rezumat
- Un ComboBox este creat trăgându-l din caseta de instrumente și plasându-l în formular.
- Ne oferă o modalitate de a prezenta numeroase opțiuni utilizatorului.
- Putem seta elementul implicit să fie selectat în ComboBox când formularul este încărcat.
- Evenimentul SelectedIndexChanged ne ajută să specificăm acțiunea de întreprins atunci când un anumit articol este selectat în caseta combinată.