Hva er Combobox Control?
Kombinasjonsboksen hjelper deg å vise en rullegardinliste med mange elementer. Se det som en kombinasjon av en tekstboks der en bruker skriver inn tekst og en rullegardinliste som en bruker velger et element fra. Merk at kombinasjonsfeltet viser ett element om gangen.
I denne Visual Basic-opplæringen vil du lære,
- Hva er Combobox Control?
- Opprette en kombinasjonsboks
- Legge til elementer i kombinasjonsboksen
- Velge kombinasjonsbokselementer
- Henter kombinasjonsfeltverdier
- Fjerner kombinasjonsboksen
- Bindende datakilde
- SelectedIndexChanged-hendelse
Opprette en kombinasjonsboks
En ComboBox kan opprettes som følger:
Trinn 1) Opprett et nytt program.
Trinn 2) Dra en kombinasjonskontroll fra verktøykassen til skjemaet.
Du har opprettet en kombinasjonskontroll.
Legge til elementer i kombinasjonsboksen
Nå som vi har opprettet en kombinasjonsfelt, la oss demonstrere hvordan du legger til ting i den.
Dobbeltklikk på kombinasjonsboksen du har lagt til. Du blir flyttet fra designfanen til fanen med kode.
For å legge til et element i en kombinasjonskontroll, bruker vi Items-egenskapen. La oss demonstrere dette ved å legge til to ting i kombinasjonsboksen, mann og kvinne:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Vi kan også velge å legge til elementer i kombinasjonsboksen ved designtid fra vinduet Egenskaper. Her er trinnene:
Trinn 1) Åpne designfanen og klikk på kombinasjonskontrollen.
Trinn 2) Gå til vinduet Egenskaper og se alternativet Elementer.
Trinn 3) Klikk på
… Plassert til høyre for (Collection).Trinn 4) Du vil se et nytt vindu. Dette er hvor du bør legge til elementer i kombinasjonsboksen, som vist nedenfor:
Trinn 5) Når du er ferdig med å skrive elementene, klikker du på OK-knappen.
Trinn 6) Klikk på Start-knappen fra den øverste verktøylinjen, og klikk deretter på rullegardinikonet på kombinasjonsfeltet.
Varene ble vellykket lagt til kombinasjonsboksen.
Velge kombinasjonsbokselementer
Det kan hende du må angi standardelementet som skal velges når skjemaet lastes inn. Du kan oppnå dette via metoden SelectedItem (). For eksempel, for å sette standard valgt kjønn til Mann, kan du bruke følgende utsagn:
ComboBox1.SelectedItem = "Male"
Når du kjører koden, bør kombinasjonsboksen være som vist nedenfor:
Henter kombinasjonsfeltverdier
Du kan hente det valgte elementet fra kombinasjonsfeltet. Dette kan gjøres ved hjelp av tekstegenskapen. La oss demonstrere dette ved å bruke den ovennevnte kombinasjonsboksen med to ting, det er mann og kvinne. Følg trinnene nedenfor:
Trinn 1) Dobbeltklikk på kombinasjonsfeltet for å åpne kategorien med VB.NET-kode.
Trinn 2) Legg til 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
Trinn 3) Klikk på Start-knappen fra verktøylinjen for å utføre koden. Du bør få følgende skjema:
Trinn 4) Klikk på rullegardinknappen og velg kjønn. I mitt tilfelle. Jeg velger Mann, og får følgende:
Her er et skjermbilde av koden:
Forklaring av kode:
- Opprette en klasse som heter Form1. Klassen vil være offentlig tilgjengelig siden tilgangsmodifikatoren er satt til Offentlig.
- Starter en underprosedyre kalt ComboBox1_SelectedIndexChanged. Dette genereres automatisk når du dobbeltklikker på kombinasjonsboksen fra designfanen. Denne underprosedyren vil bli påkalt når du velger et element fra kombinasjonsfeltet. SD-objektet refererer til objektet som hevet hendelsen mens hendelsen As EventArgs har hendelsesdataene.
- Opprette et streng heltall som heter var_gender.
- Angi verdien av variabel var_gender til elementet som er valgt i kombinasjonsfeltet.
- Skriver ut verdien til variabelen var_gender på en MesageBox.
- Slutt på ComboBox1_SelectedIndexChanged underprosedyre.
- Avslutning på Form1-klassen.
Fjerner kombinasjonsboksen
Det er mulig for deg å fjerne et element fra kombinasjonsboksen. Det er to måter du kan oppnå dette på. Du kan bruke enten vareindeksen eller navnet på varen.
Når du bruker vareindeksen, bør du bruke egenskapene Items.RemoveAt () som vist nedenfor:
ComboBox1.Items.RemoveAt(1)
I eksemplet ovenfor fjerner vi varen som ligger i indeks 1 i kombinasjonsfeltet. Merk at kombinasjonsfeltindeksene begynner ved indeks 0, noe som betyr at kommandoen ovenfor fjerner det andre elementet i kombinasjonsfeltet.
For å fjerne varen med navnet, bør du bruke egenskapene Items.Remove () som vist nedenfor:
ComboBox1.Items.Remove("Female")
Ovennevnte kode skal fjerne elementet som heter Female fra ComboBox1.
Bindende datakilde
En ComboBox kan fylles ut fra et datasett. Vurder SQL-spørringen nedenfor:
select emp_id, emp_name from employees;
Du kan opprette en datakilde i et program og deretter bruke følgende kode for å binde den:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
Dette vil gi deg en enkel måte å fylle ut kombinasjonskontrollen med data uten å måtte skrive inn hvert enkelt element.
SelectedIndexChanged-hendelse
Denne typen hendelser påkalles når du endrer det valgte elementet i kombinasjonskassen. Det er hendelsen du bør bruke når du trenger å implementere en handling etter en endring av det valgte elementet i en kombinasjonskasse. La oss demonstrere dette ved hjelp av et eksempel:
Trinn 1) Opprett et nytt Window Forms Application.
Trinn 2) Etter det må du dra og slippe to kombinasjonsbokskontroller i skjemaet.
Trinn 3) Dobbeltklikk inne i skjemaet for å åpne kategorien for kode. Skriv inn 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
Trinn 4) Klikk på Start-knappen fra den øverste linjen for å kjøre koden. Du bør få følgende utdata:
Trinn 5) Klikk på rullegardinknappen i den første kombinasjonsfeltet og velg Mann. Flytt musepekeren til den andre kombinasjonsboksen, og klikk på rullegardinknappen. Se de tilgjengelige elementene:
Trinn 6) Gå til den første kombinasjonsfeltet og velg Kvinne. Gå til den andre kombinasjonsboksen og se de tilgjengelige elementene:
Her er et skjermbilde av koden:
Forklaring av kode:
- Opprette en klasse som heter Form1.
- Start av en underprosedyre kalt Form1_Load (). Dette blir utløst når skjemaet er lastet inn. SD-objektet refererer til objektet som hevet hendelsen mens systemet As EventArgs har hendelsesdataene.
- Legge til varen Menn i ComboBox1.
- Legge til varen Kvinner i ComboBox1.
- Slutt på underprosedyren Form1_Load ().
- Start av en underprosedyre kalt ComboBox1_SelectedIndexChanged (). Dette vil bli påkalt når et element er valgt i den første kombinasjonsboksen. Avsenderen som objekt refererer til objektet som hevet hendelsen mens e As EventArgs har hendelsesdataene.
- Gjør ComboBox2 tom, fjern alle elementene fra den.
- Å skape en tilstand. Kontrollerer om det valgte elementet på ComboBox1 er menn.
- Legg til varen Nicholas i ComboBox2 når betingelsen ovenfor er oppfylt, det vil si at elementet som er valgt på ComboBox1 er Male.
- Legg varen John til ComboBox2 når betingelsen ovenfor er oppfylt, det vil si at elementet som er valgt på ComboBox1, er hanner.
- Å skape en tilstand. Kontrollerer om det valgte elementet på ComboBox1 er kvinner.
- Legg elementet Alice til ComboBox2 når betingelsen ovenfor er oppfylt, det vil si at elementet som er valgt på ComboBox1 er kvinner.
- Legg til elementet Nåde i ComboBox2 når betingelsen ovenfor er oppfylt, det vil si at elementet som er valgt på ComboBox1 er Kvinner.
- Slutt på If-blokken.
- Slutt på underprosedyren ComboBox1_SelectedIndexChanged ().
- Slutt på klassen Form1.
Sammendrag
- En ComboBox opprettes ved å dra den fra verktøykassen og slippe den i skjemaet.
- Det gir oss en måte å presentere mange alternativer for brukeren.
- Vi kan angi standardelementet som skal velges i ComboBox når skjemaet lastes inn.
- SelectedIndexChanged-hendelsen hjelper oss med å spesifisere handlingen som skal utføres når et bestemt element er valgt i kombinasjonsfeltet.