VB.Net ComboBox Kontrolirajte pomoću PRIMJERA

Što je Combobox Control?

Kontrola kombiniranog okvira pomaže vam da prikažete padajući popis s mnogo stavki. Vidite ga kao kombinaciju tekstualnog okvira u koji korisnik upisuje tekst i padajućeg popisa s kojeg korisnik odabire stavku. Imajte na umu da kombinirani okvir prikazuje jednu po jednu stavku.

Stvaranje kombiniranog okvira

KombinacijaBox može se kreirati na sljedeći način:

Korak 1) Napravite novu aplikaciju.

Korak 2) Povucite kontrolu kombiniranog okvira iz okvira s alatima na obrazac.

Stvaranje kombiniranog okvira

Stvorit ćete kontrolu kombiniranog okvira.

Dodavanje stavki u kombinirani okvir

Sada kada smo stvorili kombinirani okvir, pokazat ćemo kako mu dodati stavke.

Double kliknite kontrolu kombiniranog okvira koju ste dodali. Bit ćete premješteni s kartice dizajna na karticu s kodom.

Da bismo dodali stavku u kontrolu kombiniranog okvira, koristimo svojstvo Items. Pokažimo to dodavanjem dvije stavke 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 tijekom dizajna iz prozora Svojstva. Evo koraka:

Korak 1) Otvorite karticu dizajna i kliknite kontrolu kombiniranog okvira.

Korak 2) Prijeđite na prozor Svojstva i pogledajte opciju Stavke.

Korak 3) Pritisnite ... koji se nalazi desno od (Zbirka).

Dodavanje stavki u kombinirani okvir

Korak 4)Vidjet ćete novi prozor. Ovo je mjesto gdje biste trebali dodati stavke u kombinirani okvir, kao što je prikazano u nastavku:

Dodavanje stavki u kombinirani okvir

Korak 5) Kada završite s upisivanjem stavki, kliknite gumb U redu.

Korak 6) Pritisnite gumb Start na gornjoj alatnoj traci i kliknite ikonu padajućeg izbornika u kombiniranom okviru.

Dodavanje stavki u kombinirani okvir

Stavke su uspješno dodane u kontrolu kombiniranog okvira.

Odabir stavki kombiniranog okvira

Možda ćete morati postaviti zadanu stavku koja će biti odabrana kada se obrazac učita. To možete postići metodom SelectedItem(). Na primjer, da postavite zadani odabrani spol na Muški, možete upotrijebiti sljedeću izjavu:

ComboBox1.SelectedItem = "Male"

Kada pokrenete kôd, kontrola kombiniranog okvira trebala bi biti kao što je prikazano u nastavku:

Odabir stavki kombiniranog okvira

Dohvaćanje vrijednosti kombiniranog okvira

Možete dobiti odabranu stavku iz svog kombiniranog okvira. To se može učiniti korištenjem svojstva text. Pokažimo ovo koristeći gornji kombinirani okvir s dvije stavke, a to su Muški i Ženski. Slijedite dolje navedene korake:

Korak 1) Double kliknite kombinirani okvir za otvaranje kartice s VB.NET kodirati.

Korak 2) Dodajte sljedeći kod:

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

Korak 3) Pritisnite gumb Start na alatnoj traci za izvršenje koda. Trebali biste dobiti sljedeći obrazac:

Dohvaćanje vrijednosti kombiniranog okvira

Korak 4) Pritisnite padajući gumb i odaberite svoj spol. U mom slučaju. Odaberem Male i dobijem sljedeće:

Dohvaćanje vrijednosti kombiniranog okvira

Evo snimke zaslona koda:

Dohvaćanje vrijednosti kombiniranog okvira

Objašnjenje koda:

  1. Stvaranje klase pod nazivom Form1. Klasa će biti javno dostupna budući da je njen modifikator pristupa postavljen na Javno.
  2. Pokretanje potprocedure pod nazivom ComboBox1_SelectedIndexChanged. To se automatski generira kada dvaput kliknete kontrolu kombiniranog okvira na kartici dizajna. Ova podprocedura će se pokrenuti kada odaberete stavku iz kombiniranog okvira. Sd As Object referencira objekt koji je pokrenuo događaj dok događaj As EventArgs ima podatke događaja s.
  3. Stvaranje cijelog niza pod nazivom var_gender.
  4. Postavljanje vrijednosti varijable var_gender na stavku koja je odabrana u kombiniranom okviru.
  5. Ispisivanje vrijednosti varijable var_gender na poruciBox.
  6. Kraj kombinacijeBox1_SelectedIndexChanged potprocedura.
  7. Kraj razreda Form1.

Uklanjanje stavki kombiniranog okvira

Moguće je ukloniti stavku iz kombiniranog okvira. Postoje dva načina na koja to možete postići. Možete koristiti ili indeks artikla ili naziv artikla.

Kada koristite indeks stavke, trebali biste koristiti svojstvo Items.RemoveAt() kao što je prikazano u nastavku:

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 od indeksa 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 Items.Remove() kao što je prikazano u nastavku:

ComboBox1.Items.Remove("Female")

Gornji kod trebao bi ukloniti stavku pod nazivom Female iz kombinacijeBox1.

Povezivanje izvora podataka

KombinacijaBox može se popuniti iz skupa podataka. Razmotrite SQL upit dat u nastavku:

select emp_id, emp_name from employees; 

Možete stvoriti izvor podataka u programu, a zatim upotrijebiti sljedeći kod da ga povežete:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

To će vam omogućiti jednostavan način popunjavanja kontrole kombiniranog okvira podacima bez potrebe za upisivanjem svake pojedinačne stavke.

SelectedIndexChanged događaj

Ova vrsta događaja se poziva kada promijenite odabranu stavku u svom kombiniranom okviru. To je događaj koji biste trebali koristiti kada trebate implementirati radnju nakon promjene na odabranoj stavci kombiniranog okvira. Pokažimo to pomoću primjera:

Korak 1) Stvorite novu aplikaciju Window Forms.

Korak 2) Nakon toga trebate Povucite i ispustite dvije kontrole kombiniranog okvira u obrazac.

SelectedIndexChanged događaj

Korak 3) Double kliknite unutar obrasca da biste otvorili karticu za kod. Unesite sljedeći kod:

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

Korak 4) Pritisnite gumb Start na gornjoj traci za pokretanje koda. Trebali biste dobiti sljedeći izlaz:

SelectedIndexChanged događaj

Korak 5) Pritisnite padajući gumb na prvom kombiniranom okviru i odaberite Muško. Pomaknite kursor miša na drugi kombinirani okvir i kliknite njegov padajući gumb. Pogledajte dostupne artikle:

SelectedIndexChanged događaj

Korak 6) Pomaknite se na prvi kombinirani okvir i odaberite Žensko. Prijeđite na drugi kombinirani okvir i pogledajte dostupne stavke:

SelectedIndexChanged događaj

Evo snimke zaslona koda:

SelectedIndexChanged događaj

Objašnjenje koda:

  1. Stvaranje klase pod nazivom Form1.
  2. Početak potprocedure pod nazivom Form1_Load(). Ovo će se pokrenuti kada se obrazac učita. Objekt sd As upućuje na objekt koji je pokrenuo događaj dok sustav As EventArgs ima podatke o događaju.
  3. Dodavanje predmeta Muškarci u kombinacijuBox1.
  4. Dodavanje artikla Females u kombinacijuBox1.
  5. Kraj podprocedure Form1_Load().
  6. Početak potprocedure pod nazivom ComboBox1_SelectedIndexChanged(). Ovo će se pozvati kada se stavka odabere u prvom kombiniranom okviru. Pošiljatelj As Object upućuje na objekt koji je pokrenuo događaj dok e As EventArgs ima podatke o događaju.
  7. Napravite kombinacijuBox2 prazno, izbrišite sve stavke iz njega.
  8. Stvaranje stanja. Provjera je li odabrana stavka na ComboBox1 je Muškarci.
  9. Dodajte stavku Nicholas u kombinacijuBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je muškarac.
  10. Dodajte stavku John u kombinacijuBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Muškarci.
  11. Stvaranje stanja. Provjera je li odabrana stavka na ComboBox1 je Žene.
  12. Dodajte stavku Alice u kombinacijuBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Žene.
  13. Dodajte stavku Grace u kombinacijuBox2 kada je gornji uvjet istinit, odnosno stavka odabrana na ComboBox1 je Žene.
  14. Kraj If bloka.
  15. Kraj kombinacijeBox1_SelectedIndexChanged() potprocedura.
  16. Kraj sata Obrazac1.

Rezime

  • KombinacijaBox se stvara povlačenjem iz okvira s alatima i ispuštanjem u obrazac.
  • Omogućuje nam način predstavljanja brojnih opcija korisniku.
  • Možemo postaviti zadanu stavku koja će biti odabrana na kombinacijiBox kada se obrazac učita.
  • Događaj SelectedIndexChanged pomaže nam odrediti radnju koju treba poduzeti kada se određena stavka odabere u kombiniranom okviru.