Što je Combobox Control?
Kontrola kombiniranog okvira pomaže vam da prikažete padajući popis s mnogim stavkama. Gledajte na to kao na kombinaciju tekstualnog okvira u koji korisnik unosi tekst i padajućeg popisa s kojeg korisnik odabire stavku. Imajte na umu da kombinirani okvir prikazuje jednu po jednu stavku.
U ovom uputstvu za Visual Basic naučit ćete,
- Što je Combobox Control?
- Stvaranje kombiniranog okvira
- Dodavanje predmeta u Combobox
- Odabir stavki kombiniranog okvira
- Dohvaćanje vrijednosti Comboboxa
- Uklanjanje stavki kombiniranog okvira
- Obvezujući izvor podataka
- Događaj SelectedIndexChanged
Stvaranje kombiniranog okvira
ComboBox se može stvoriti na sljedeći način:
Korak 1) Stvorite novu aplikaciju.
Korak 2) Povucite kombiniranu kontrolu iz okvira s alatima u obrazac.
Stvorit ćete kombiniranu kontrolu.
Dodavanje predmeta u Combobox
Sad kad smo stvorili kombinirani okvir, pokazimo kako mu dodati stavke.
Dvaput kliknite kontrolu kombiniranog okvira koju ste dodali. Premjestit ćete se s kartice dizajn na karticu s kodom.
Da bismo dodali stavku u kombiniranu kontrolu, koristimo svojstvo Items. Pokažimo to dodavanjem dvaju predmeta u kombinirani okvir, muški i ženski:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Također možemo odabrati dodavanje stavki u kombinirani okvir u vrijeme dizajna iz prozora Svojstva. Evo koraka:
Korak 1) Otvorite karticu dizajna i kliknite kontrolu kombiniranog okvira.
Korak 2) Pomaknite se na prozor Svojstva i pogledajte opciju Stavke.
Korak 3) Kliknite
… Nalazi se desno od (Zbirka).Korak 4) Vidjet ćete novi prozor. Ovdje biste trebali dodati stavke u kombinirani okvir, kao što je prikazano dolje:
Korak 5) Kada završite s tipkanjem predmeta, kliknite gumb U redu.
Korak 6) Kliknite gumb Start s gornje alatne trake i kliknite padajuću ikonu na kombiniranom okviru.
Stavke su uspješno dodane u kombiniranu kontrolu.
Odabir stavki kombiniranog okvira
Možda ćete trebati postaviti zadanu stavku koja će biti odabrana kada se obrazac učita. To možete postići metodom SelectedItem (). Na primjer, da biste zadani odabrani spol postavili na Muški, možete upotrijebiti sljedeću izjavu:
ComboBox1.SelectedItem = "Male"
Kada pokrenete kod, kontrola kombiniranog okvira trebala bi biti kao što je prikazano dolje:
Dohvaćanje vrijednosti Comboboxa
Odabranu stavku možete dobiti iz vašeg kombiniranog okvira. To se može učiniti pomoću svojstva text. Pokažimo to pomoću našeg gornjeg kombiniranog okvira s dva predmeta, odnosno Muškim i Ženskim. Slijedite korake dane u nastavku:
Korak 1) Dvaput kliknite kombinirani okvir da biste otvorili karticu s VB.NET kodom.
Korak 2) Dodajte sljedeći kod:
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) Kliknite gumb Start na alatnoj traci da biste izvršili kôd. Trebali biste dobiti sljedeći obrazac:
Korak 4) Kliknite padajući gumb i odaberite svoj spol. U mom slučaju. Odabirem Male i dobivam sljedeće:
Evo snimke zaslona koda:
Objašnjenje koda:
- Stvaranje klase pod nazivom Form1. Klasa će biti javno dostupna jer je njezin modifikator pristupa postavljen na Javno.
- Pokretanje potprocedure pod nazivom ComboBox1_SelectedIndexChanged. To se generira automatski kada dvokliknete kontrolu kombiniranog okvira na kartici dizajna. Ovaj će se potprocedura pozvati kada odaberete stavku iz kombiniranog okvira. Sd As Objekt referencira objekt koji je pokrenuo događaj dok događaj As EventArgs ima podatke o događajima s.
- Stvaranje cijelog broja niza pod nazivom var_gender.
- Postavljanje vrijednosti varijable var_gender na stavku koja je odabrana na kombiniranom okviru.
- Ispis vrijednosti varijable var_gender na MesageBoxu.
- Kraj potpostupak ComboBox1_SelectedIndexChanged.
- Kraj klase Form1.
Uklanjanje stavki kombiniranog okvira
Moguće je ukloniti stavku iz vašeg kombiniranog okvira. Postoje dva načina na koja to možete postići. Možete koristiti indeks stavke ili naziv predmeta.
Kada upotrebljavate indeks predmeta, trebali biste koristiti svojstvo Items.RemoveAt () kao što je prikazano dolje:
ComboBox1.Items.RemoveAt(1)
U gornjem primjeru uklanjamo stavku koja se nalazi na indeksu 1 kombiniranog okvira. Imajte na umu da indeksi kombiniranog okvira počinju na indeksu 0, što znači da će gornja naredba ukloniti drugu stavku kombiniranog okvira.
Da biste uklonili stavku koristeći njezino ime, trebali biste koristiti svojstvo Itemss.Remove () kao što je prikazano u nastavku:
ComboBox1.Items.Remove("Female")
Gornji kôd trebao bi ukloniti stavku pod nazivom Žensko iz ComboBox1.
Obvezujući izvor podataka
ComboBox se može popuniti iz skupa podataka. Razmotrite SQL upit dat u nastavku:
select emp_id, emp_name from employees;
Izvor podataka možete stvoriti u programu, a zatim ga upotrijebiti sljedećim kodom:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
To će vam pružiti jednostavan način popunjavanja vaše kombinirane kontrole podacima bez potrebe za upisivanjem svake pojedine stavke.
Događaj SelectedIndexChanged
Ova vrsta događaja poziva se kada promijenite odabranu stavku na vašem kombiniranom okviru. To je događaj koji biste trebali koristiti kada trebate provesti akciju nakon promjene na odabranoj stavci kombiniranog okvira. Pokažimo to na primjeru:
Korak 1) Stvorite novu aplikaciju Obrasci prozora.
Korak 2) Nakon toga trebate povući i ispustiti dvije kombinirane kontrole u obrazac.
Korak 3) Dvaput kliknite unutar obrasca da biste otvorili karticu za kôd. Unesite sljedeći kod:
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) Kliknite gumb Start na gornjoj traci za pokretanje koda. Trebali biste dobiti sljedeći izlaz:
Korak 5) Kliknite padajući gumb na prvom kombiniranom okviru i odaberite Male. Pomaknite kursor miša na drugi kombinirani okvir i kliknite njegov padajući gumb. Pogledajte dostupne stavke:
Korak 6) Pomaknite se do prvog kombiniranog okvira i odaberite Ženski. Pomaknite se do drugog kombiniranog okvira i pogledajte dostupne stavke:
Evo snimke zaslona koda:
Objašnjenje koda:
- Stvaranje klase pod nazivom Form1.
- Početak potprocedure pod nazivom Form1_Load (). To će se pokrenuti nakon učitavanja obrasca. Sd As Object referencira objekt koji je pokrenuo događaj dok sustav As EventArgs ima podatke o događaju.
- Dodavanje predmeta Mužjaci u ComboBox1.
- Dodavanje predmeta Ženke u ComboBox1.
- Kraj potprocedura Form1_Load ().
- Početak potprocedure pod nazivom ComboBox1_SelectedIndexChanged (). To će se pozvati kada je stavka odabrana na prvom kombiniranom okviru. Pošiljatelj As Object referencira objekt koji je pokrenuo događaj dok e As EventArgs ima podatke o događaju.
- Učinite ComboBox2 praznim, iz njega izbrišite sve stavke.
- Stvaranje uvjeta. Provjera je li odabrana stavka na ComboBox1 muškarci.
- Dodajte stavku Nicholas u ComboBox2 kada je gornji uvjet ispunjen, odnosno stavka odabrana na ComboBox1 je Muški.
- Dodajte stavku John u ComboBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Mužjaci.
- Stvaranje uvjeta. Provjera je li odabrana stavka na ComboBox1 Žene.
- Dodajte stavku Alice u ComboBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Ženke.
- Dodajte stavku Grace u ComboBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Females.
- Kraj bloka If.
- Kraj potprocedura ComboBox1_SelectedIndexChanged ().
- Kraj nastave Form1.
Sažetak
- ComboBox se stvara povlačenjem iz okvira s alatima i ispuštanjem u obrazac.
- Pruža nam način da korisniku predstavimo brojne mogućnosti.
- Možemo postaviti zadanu stavku koja će se odabrati na ComboBoxu kada se obrazac učita.
- Događaj SelectedIndexChanged pomaže nam odrediti radnju koju treba poduzeti kada je određena stavka odabrana na kombiniranom okviru.