Kaj je Combobox Control?
Nadzornik kombiniranega polja vam pomaga prikazati spustni seznam z veliko elementi. Glejte na to kot na kombinacijo besedilnega polja, v katerega uporabnik vnese besedilo, in spustnega seznama, iz katerega uporabnik izbere element. Upoštevajte, da kombinirano polje prikazuje posamezne elemente naenkrat.
V tej vadnici Visual Basic boste izvedeli,
- Kaj je Combobox Control?
- Ustvarjanje Comboboxa
- Dodajanje elementov v Combobox
- Izbira elementov Combobox
- Pridobivanje vrednosti Combobox
- Odstranjevanje elementov Combobox
- Zavezujoč vir podatkov
- Dogodek SelectedIndexChanged
Ustvarjanje Comboboxa
ComboBox lahko ustvarite na naslednji način:
Korak 1) Ustvarite novo aplikacijo.
Korak 2) Povlecite kontrolnik kombiniranega polja iz orodjarne na obrazec.
Ustvarili boste kontrolnik kombiniranega polja.
Dodajanje elementov v Combobox
Zdaj, ko smo ustvarili kombinirano polje, predstavimo, kako mu dodati elemente.
Dvokliknite kontrolnik kombiniranega polja, ki ste ga dodali. Iz zavihka za načrtovanje boste premaknjeni na zavihek s kodo.
Če želimo element dodati v kontrolnik kombiniranega polja, uporabimo lastnost Items. Pokažimo to tako, da v kombinirano polje dodamo dva elementa, Moški in Ženska:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
V oknu z lastnostmi se lahko odločimo tudi za dodajanje elementov v kombinirani okvir. Tu so koraki:
Korak 1) Odprite zavihek za načrtovanje in kliknite kontrolnik kombiniranega polja.
Korak 2) Pomaknite se do okna Lastnosti in si oglejte možnost Elementi.
Korak 3) Kliknite
… Nahaja se desno od (Zbirka).Korak 4) Videli boste novo okno. Tu bi morali dodati elemente v kombinirano polje, kot je prikazano spodaj:
5. korak) Ko končate s tipkanjem elementov, kliknite gumb V redu.
Korak 6) V zgornji orodni vrstici kliknite gumb Start in na spustnem polju kliknite spustno ikono.
Elementi so bili uspešno dodani v kontrolnik kombiniranega polja.
Izbira elementov Combobox
Morda boste morali nastaviti privzeti element, ki bo izbran, ko se obrazec naloži. To lahko dosežete z metodo SelectedItem (). Če želite na primer privzeto izbrani spol nastaviti na Moški, lahko uporabite naslednjo izjavo:
ComboBox1.SelectedItem = "Male"
Ko zaženete kodo, mora biti kontrolnik kombiniranega polja, kot je prikazano spodaj:
Pridobivanje vrednosti Combobox
Izbrani element lahko dobite v svojem kombiniranem polju. To lahko storite z uporabo lastnosti besedila. Naj to dokažemo z uporabo zgornjega kombiniranega polja z dvema elementoma, in sicer Moškim in Ženskim. Sledite spodnjim korakom:
Korak 1) Dvokliknite kombinirano polje, da odprete zavihek s kodo VB.NET.
Korak 2) Dodajte naslednjo kodo:
Public Class Form1Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChangedDim var_gender As Stringvar_gender = ComboBox1.TextMessageBox.Show(var_gender)End SubEnd Class
Korak 3) Za zagon kode v orodni vrstici kliknite gumb Start. Dobili bi naslednji obrazec:
Korak 4) Kliknite spustni gumb in izberite svoj spol. V mojem primeru. Izberem moškega in dobim naslednje:
Tu je posnetek zaslona kode:
Pojasnilo kode:
- Ustvarjanje razreda z imenom Form1. Razred bo javno dostopen, saj je njegov modifikator dostopa nastavljen na Javno.
- Zagon podprocedure z imenom ComboBox1_SelectedIndexChanged. To se generira samodejno, ko na zavihku načrtovanja dvokliknete kontrolnik kombiniranega polja. Ta podproces bo uporabljen, ko izberete element v kombiniranem polju. Objekt sd As se sklicuje na objekt, ki je povzročil dogodek, medtem ko ima dogodek As EventArgs podatke o dogodkih.
- Ustvarjanje niza celo število z imenom var_gender.
- Nastavitev vrednosti spremenljivke var_gender na element, ki je izbran v kombiniranem polju.
- Tiskanje vrednosti spremenljivke var_gender na MesageBox.
- Konec podprocedura ComboBox1_SelectedIndexChanged.
- Konec razreda Form1.
Odstranjevanje elementov Combobox
Element lahko odstranite iz kombiniranega polja. To lahko dosežete na dva načina. Uporabite lahko indeks predmeta ali ime elementa.
Pri uporabi indeksa artiklov uporabite lastnost Items.RemoveAt (), kot je prikazano spodaj:
ComboBox1.Items.RemoveAt(1)
V zgornjem primeru odstranjujemo element, ki se nahaja v indeksu 1 kombiniranega polja. Indeksi kombiniranega polja se začnejo pri indeksu 0, kar pomeni, da bo zgornji ukaz odstranil drugi element kombiniranega polja.
Če želite element odstraniti z imenom, uporabite lastnost Items.Remove (), kot je prikazano spodaj:
ComboBox1.Items.Remove("Female")
Zgornja koda bi morala odstraniti element z imenom Ženska iz ComboBox1.
Zavezujoč vir podatkov
ComboBox lahko napolnite iz nabora podatkov. Upoštevajte spodnjo poizvedbo SQL:
select emp_id, emp_name from employees;
Vir podatkov lahko ustvarite v programu, nato pa ga uporabite za povezavo z naslednjo kodo:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
To vam bo omogočilo enostaven način zapolnitve kontrolnika kombiniranega polja s podatki, ne da bi morali vnašati vsak posamezen element.
Dogodek SelectedIndexChanged
Ta vrsta dogodka se prikliče, ko spremenite izbrani element v kombiniranem polju. To je dogodek, ki ga morate uporabiti, ko morate izvesti dejanje ob spremembi izbranega elementa kombiniranega polja. Pokažimo to na primeru:
Korak 1) Ustvarite novo aplikacijo Window Forms.
Korak 2) Po tem morate povleči in spustiti dva kontrolnika kombiniranega polja v obrazec.
Korak 3) Dvakrat kliknite znotraj obrazca, da odprete zavihek za kodo. Vnesite naslednjo kodo:
Public Class Form1Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.LoadComboBox1.Items.Add("Males")ComboBox1.Items.Add("Females")End SubPrivate Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChangedComboBox2.Items.Clear()If ComboBox1.SelectedItem = "Males" ThenComboBox2.Items.Add("Nicholas")ComboBox2.Items.Add("John")ElseIf ComboBox1.SelectedItem = "Females" ThenComboBox2.Items.Add("Alice")ComboBox2.Items.Add("Grace")End IfEnd SubEnd Class
Korak 4) Za zagon kode kliknite gumb Start v zgornji vrstici. Dobili bi naslednji izhod:
Korak 5) Kliknite spustni gumb na prvem kombiniranem polju in izberite Moški. Premaknite kazalec miške na drugo kombinirano polje in kliknite njegov spustni gumb. Oglejte si razpoložljive izdelke:
6. korak) Premaknite se na prvo kombinirano polje in izberite Ženska. Premaknite se na drugo kombinirano polje in si oglejte razpoložljive elemente:
Tu je posnetek zaslona kode:
Pojasnilo kode:
- Ustvarjanje razreda z imenom Form1.
- Začetek podprocedure z imenom Form1_Load (). To se sproži, ko se obrazec naloži. Objekt sd As se sklicuje na objekt, ki je povzročil dogodek, medtem ko ima sistem As EventArgs podatke o dogodku.
- Dodajanje elementa Moški v ComboBox1.
- Dodajanje elementa Ženske v ComboBox1.
- Konec podprocedura Form1_Load ().
- Začetek podprocedure z imenom ComboBox1_SelectedIndexChanged (). To bo poklicano, ko bo element izbran v prvem kombiniranem polju. Pošiljatelj As Object se sklicuje na objekt, ki je povzročil dogodek, medtem ko ima e As EventArgs podatke o dogodku.
- ComboBox2 naj bo prazen, iz njega počistite vse predmete.
- Ustvarjanje pogoja. Preverjanje, ali je izbrani element na ComboBox1 Moški.
- Dodajte element Nicholas v ComboBox2, ko je izpolnjen zgornji pogoj, to je, da je element, izbran na ComboBox1, moški.
- Dodajte element John v ComboBox2, če je zgornji pogoj izpolnjen, to je, da je element, izbran na ComboBox1, Moški.
- Ustvarjanje pogoja. Preverjanje, ali je izbrani element na ComboBox1 ženske.
- Dodajte element Alice v ComboBox2, ko je zgornji pogoj izpolnjen, to pomeni, da je element, izbran na ComboBox1, ženske.
- Dodajte element Grace v ComboBox2, ko je zgornji pogoj izpolnjen, to pomeni, da je element, izbran na ComboBox1, ženske.
- Konec bloka If.
- Konec podprocedura ComboBox1_SelectedIndexChanged ().
- Konec predavanja Form1.
Povzetek
- ComboBox se ustvari tako, da ga povlečete iz orodjarne in spustite v obrazec.
- Ponuja nam način, kako uporabniku predstaviti številne možnosti.
- Privzeti element lahko nastavimo tako, da se ob nalaganju obrazca izbere na ComboBoxu.
- Dogodek SelectedIndexChanged nam pomaga določiti dejanje, ko je v kombiniranem polju izbran določen element.