Hvad er Combobox Control?
Kombinationsboksen hjælper dig med at få vist en rulleliste med mange emner. Se det som en kombination af en tekstboks, hvor en bruger indtaster tekst og en rulleliste, hvorfra en bruger vælger et element. Bemærk, at kombinationsboksen viser et element ad gangen.
I denne Visual Basic-tutorial lærer du,
- Hvad er Combobox Control?
- Oprettelse af en kombinationsboks
- Tilføjelse af emner til kombinationsboksen
- Valg af kombinationselementer
- Henter kombinationsværdier
- Fjernelse af kombinationsboksenheder
- Bindende datakilde
- SelectedIndexChanged begivenhed
Oprettelse af en kombinationsboks
En ComboBox kan oprettes som følger:
Trin 1) Opret en ny applikation.
Trin 2) Træk en kombinationsbokskontrol fra værktøjskassen til formularen.
Du vil have oprettet en kombinationsbokskontrol.
Tilføjelse af emner til kombinationsboksen
Nu hvor vi har oprettet en kombinationsboks, lad os demonstrere, hvordan vi tilføjer varer til den.
Dobbeltklik på den kombinationsbokskontrol, du har tilføjet. Du flyttes fra fanen design til fanen med kode.
For at føje et element til en kombinationsbokskontrol bruger vi egenskaben Items. Lad os demonstrere dette ved at tilføje to emner til kombinationsboksen, mand og kvinde:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Vi kan også vælge at tilføje emner til kombinationsboksen ved designtid fra vinduet Egenskaber. Her er trinene:
Trin 1) Åbn designfanen, og klik på kombinationsboksen.
Trin 2) Gå til vinduet Egenskaber og se elementet Valg.
Trin 3) Klik på
… Placeret til højre for (Collection).Trin 4) Du får vist et nyt vindue. Det er her, du skal tilføje emner til kombinationsboksen, som vist nedenfor:
Trin 5) Når du er færdig med at skrive elementerne, skal du klikke på OK-knappen.
Trin 6) Klik på Start-knappen fra den øverste værktøjslinje, og klik på rullemenuen på kombinationsboksen.
Varerne blev tilføjet til kombinationsboksen.
Valg af kombinationselementer
Du skal muligvis indstille standardelementet, der vælges, når formularen indlæses. Du kan opnå dette via metoden SelectedItem (). For eksempel for at indstille det valgte standardkøn til Mand, kan du bruge følgende udsagn:
ComboBox1.SelectedItem = "Male"
Når du kører koden, skal kombinationsboksen være som vist nedenfor:
Henter kombinationsværdier
Du kan hente det valgte emne fra din kombinationsboks. Dette kan gøres ved hjælp af tekstegenskaben. Lad os demonstrere dette ved hjælp af ovenstående kombinationsboks med to ting, dvs. mand og kvinde. Følg nedenstående trin:
Trin 1) Dobbeltklik på kombinationsboksen for at åbne fanen med VB.NET-kode.
Trin 2) Tilføj følgende kode:
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
Trin 3) Klik på Start-knappen fra værktøjslinjen for at udføre koden. Du skal få følgende formular:
Trin 4) Klik på rullemenuen, og vælg dit køn. I mit tilfælde. Jeg vælger Mand, og jeg får følgende:
Her er et screenshot af koden:
Forklaring af kode:
- Oprettelse af en klasse ved navn Form1. Klassen vil være offentligt tilgængelig, da dens adgangsmodifikator er indstillet til Offentlig.
- Start af en underprocedure ved navn ComboBox1_SelectedIndexChanged. Dette genereres automatisk, når du dobbeltklikker på kombinationsboksen fra designfanen. Denne underprocedure påberåbes, når du vælger et emne fra kombinationsboksen. SD som objekt refererer til objektet, der hævede begivenheden, mens begivenheden As EventArgs har begivenhedsdataene.
- Oprettelse af et strengheeltal med navnet var_gender.
- Indstilling af værdien for variabel var_gender til det element, der er valgt i kombinationsboksen.
- Udskrivning af værdien af variablen var_gender på en MesageBox.
- Afslutning af ComboBox1_SelectedIndexChanged underprocedure.
- Slutningen af Form1-klassen.
Fjernelse af kombinationsboksenheder
Det er muligt for dig at fjerne et element fra din kombinationsboks. Der er to måder, hvorpå du kan opnå dette. Du kan enten bruge vareindekset eller navnet på varen.
Når du bruger vareindekset, skal du bruge egenskaben Items.RemoveAt () som vist nedenfor:
ComboBox1.Items.RemoveAt(1)
I ovenstående eksempel fjerner vi elementet placeret i indeks 1 i kombinationsboksen. Bemærk, at kombinationsboksindekser begynder ved indeks 0, hvilket betyder, at ovenstående kommando fjerner det andet element i kombinationsfeltet.
For at fjerne elementet ved hjælp af dets navn, skal du bruge egenskaben Items.Remove () som vist nedenfor:
ComboBox1.Items.Remove("Female")
Ovenstående kode skal fjerne elementet med navnet Female fra ComboBox1.
Bindende datakilde
En ComboBox kan udfyldes fra et datasæt. Overvej SQL-forespørgslen nedenfor:
select emp_id, emp_name from employees;
Du kan oprette en datakilde i et program og derefter bruge følgende kode til at binde den:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
Dette giver dig en nem måde at udfylde din kombinationsbokskontrol med data uden at skulle skrive hvert enkelt element.
SelectedIndexChanged begivenhed
Denne type begivenhed påberåbes, når du ændrer det valgte element i din kombinationsboks. Det er den begivenhed, du skal bruge, når du har brug for at gennemføre en handling efter en ændring af det valgte emne i en kombinationsboks. Lad os demonstrere dette ved hjælp af et eksempel:
Trin 1) Opret et nyt Window Forms Application.
Trin 2) Derefter skal du trække og slippe to kombinationsbokskontroller i formularen.
Trin 3) Dobbeltklik inde i formularen for at åbne fanen for kode. Indtast følgende kode:
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
Trin 4) Klik på Start-knappen fra den øverste bjælke for at køre koden. Du skal få følgende output:
Trin 5) Klik på rullemenuen i den første kombinationsboks, og vælg Mand. Flyt musemarkøren til den anden kombinationsboks, og klik på dens rullemenu. Se de tilgængelige emner:
Trin 6) Gå til den første kombinationsboks, og vælg Kvinde. Gå til den anden kombinationsboks og se de tilgængelige emner:
Her er et screenshot af koden:
Forklaring af kode:
- Oprettelse af en klasse ved navn Form1.
- Start af en underprocedure ved navn Form1_Load (). Dette udløses, når formularen er indlæst. SD-objektet refererer til objektet, der hævede begivenheden, mens systemet som EventArgs har begivenhedsdataene.
- Tilføjelse af elementet Mænd til ComboBox1.
- Tilføjelse af emnet Kvinder til ComboBox1.
- Afslutning af underproceduren Form1_Load ().
- Start af en underprocedure ved navn ComboBox1_SelectedIndexChanged (). Dette påberåbes, når et element er valgt i den første kombinationsboks. Afsenderen som objekt refererer til objektet, der hævede begivenheden, mens e As EventArgs har begivenhedsdataene.
- Gør ComboBox2 tom, ryd alle emner fra den.
- Oprettelse af en betingelse. Kontrollerer, om det valgte element på ComboBox1 er mænd.
- Føj elementet Nicholas til ComboBox2, når ovenstående betingelse er sand, dvs. det element, der er valgt på ComboBox1, er Male.
- Føj varen John til ComboBox2, når ovenstående betingelse er sand, dvs. det element, der er valgt på ComboBox1, er hanner.
- Oprettelse af en betingelse. Kontrollerer, om det valgte element på ComboBox1 er Kvinder.
- Føj elementet Alice til ComboBox2, når ovenstående betingelse er sand, dvs. det element, der er valgt på ComboBox1, er Kvinder.
- Føj elementet Grace til ComboBox2, når ovenstående betingelse er sand, dvs. det element, der er valgt på ComboBox1, er Kvinder.
- Slutningen af If-blokken.
- Afslutning af underproceduren ComboBox1_SelectedIndexChanged ().
- Slutningen af klassen Form1.
Resumé
- En ComboBox oprettes ved at trække den fra værktøjskassen og slippe den i formularen.
- Det giver os en måde at præsentere adskillige muligheder for brugeren på.
- Vi kan indstille standardelementet, der skal vælges på ComboBox, når formularen indlæses.
- SelectedIndexChanged-begivenheden hjælper os med at specificere den handling, der skal udføres, når et bestemt element vælges i kombinationsboksen.