VB.Net ComboBox Ohjaa EXAMPLE:lla

⚡ Älykäs yhteenveto

ComboBox VB.Netissä on Windows Lomakeohjausobjekti, joka yhdistää tekstiruudun ja avattavan luettelon, jolloin käyttäjä voi valita tai kirjoittaa yhden kohteen, mikä säästää tilaa lomakkeella.

  • 🎯 Tarkoitus: Näytä alasvetovalikko, josta käyttäjä valitsee tai kirjoittaa yhden arvon.
  • ➕ Lisää kohteita: Täytä yhdistelmäruutu Ominaisuudet-ikkunassa tai lisää Items.Add suorituksen aikana.
  • 🔍 Lue valikoima: SelectedItem, SelectedIndex ja Text palauttavat käyttäjän valitseman arvon.
  • 🗄️ Sido tiedot: Aseta DataSource, DisplayMember ja ValueMember lataamaan rivejä tietojoukosta.
  • 🔔 Havaitse muutokset: SelectedIndexChanged-tapahtuma käynnistyy aina, kun valittu kohde muuttuu.
  • 🤖 Tekoälyn apu: GitHub Copilot ja Visual Studio IntelliCode kirjoita yhdistelmäBox käsittelijät kirjoittaessasi.

VB.Net ComboBox Valvonta:

Mikä on Combobox Control?

Yhdistelmäsäätimen avulla voit näyttää avattavan luettelon, jossa on monia kohteita. Katso se yhdistelmänä tekstilaatikosta, johon käyttäjä kirjoittaa tekstiä, ja avattavasta luettelosta, josta käyttäjä valitsee kohteen. Huomaa, että yhdistelmälaatikko näyttää yhden kohteen kerrallaan.

Yhdistelmälaatikon luominen

YhdistelmäBox voidaan luoda seuraavasti:

Vaihe 1) Luo uusi sovellus.

Vaihe 2) Vedä yhdistelmäruudun ohjausobjekti työkalupakista lomakkeeseen.

VB.Net-yhdistelmäruudun ohjaus pudotettu työkalupakista Windows muoto

Olet luonut yhdistelmälaatikon ohjausobjektin.

Kohteiden lisääminen yhdistelmälaatikkoon

Nyt kun olemme luoneet yhdistelmälaatikon, osoitamme, kuinka siihen lisätään kohteita.

Double napsauta lisäämääsi yhdistelmälaatikkoa. Sinut siirretään suunnittelu-välilehdeltä koodia sisältävälle välilehdelle.

Jos haluat lisätä kohteen yhdistelmälaatikon ohjausobjektiin, käytämme Items-ominaisuutta. Osoittakaamme tämä lisäämällä yhdistelmälaatikkoon kaksi kohdetta, Male ja Female:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

Voimme myös lisätä kohteita yhdistelmälaatikkoon suunnittelun aikana Ominaisuudet-ikkunasta. Tässä ovat vaiheet:

Vaihe 1) Avaa suunnitteluvälilehti ja napsauta yhdistelmäruudun ohjausobjektia.

Vaihe 2) Siirry Ominaisuudet-ikkunaan ja tarkastele Kohteet-vaihtoehtoa.

Vaihe 3) Napsauta …-painiketta, joka sijaitsee (Kokoelma)-kohdan oikealla puolella.

Kohteiden lisääminen VB.Net-yhdistelmäruutuun koodissa Items.Add-metodilla

VB.Net Properties -ikkuna, joka avaa yhdistelmäruudun Kohteet-kokoelmaeditorin

Vaihe 4) Näet uuden ikkunan. Tähän sinun tulee lisätä kohteita yhdistelmävalikkoon alla olevan kuvan mukaisesti:

Merkkijonokokoelmaeditori, jossa luetellaan mies- ja naispuoliset yhdistelmälaatikon kohteet

Vaihe 5) Kun olet valmis ty:n kanssaping kohteet, napsauta OK-painiketta.

Vaihe 6) Napsauta Käynnistä-painiketta ylätyökalurivillä ja napsauta sitten avattavan valikon kuvaketta yhdistelmäruudussa.

VB.Net-yhdistelmäruutu, jossa Mies on valittuna oletuskohteeksi suorituksen aikana

Kohteet lisättiin onnistuneesti yhdistelmälaatikon ohjausobjektiin.

Yhdistelmälaatikon kohteiden valitseminen

Saatat joutua asettamaan oletuskohteen, joka valitaan, kun lomake ladataan. Voit saavuttaa tämän SelectedItem()-menetelmällä. Esimerkiksi, jos haluat määrittää valitun oletussukupuolen arvoksi Mies, voit käyttää seuraavaa lausetta:

ComboBox1.SelectedItem = "Male"

Kun suoritat koodin, yhdistelmälaatikon ohjausobjektin tulee olla alla olevan kuvan mukainen:

VB.Net-lomake, joka näyttää yhdistelmäruudun, jossa on mies- ja naisvaihtoehdot

Haetaan yhdistelmälaatikon arvoja

Voit hakea valitun kohteen yhdistelmävalikosta. Tämä voidaan tehdä käyttämällä text-ominaisuutta. Havainnollistetaan tätä käyttämällä yllä olevaa yhdistelmävalikkoa, jossa on kaksi kohdetta, Mies ja Nainen. Noudata alla olevia ohjeita:

Vaihe 1) Double Napsauta yhdistelmäruutua avataksesi VB.Net-koodia sisältävän välilehden.

Vaihe 2) Lisää seuraava koodi:

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

Vaihe 3) Suorita koodi napsauttamalla työkalupalkin Käynnistä-painiketta. Sinun pitäisi saada seuraava lomake:

Code Kuvakaappaus VB.Net-yhdistelmäruudusta SelectedIndexChanged-tapahtumankäsittelijä

Vaihe 4) Napsauta alasvetovalikkoa ja valitse sukupuolesi. Minun tapauksessani valitsen Mies, ja saan seuraavan:

VB.Net-viestiruutu, jossa näkyy valitun yhdistelmäruudun kohteen teksti Mies

Tässä on kuvakaappaus koodista:

Selitys Code:

  1. Luodaan luokka nimeltä Form1. Luokka on julkisesti käytettävissä, koska sen käyttöoikeusmuuttajaksi on asetettu Julkinen.
  2. Combo-nimisen aliproseduurin aloittaminenBox1_SelectedIndexChanged. Tämä luodaan automaattisesti, kun kaksoisnapsautat yhdistelmäruudun ohjausobjektia suunnitteluvälilehdellä. Tämä alitoimintosarja kutsutaan, kun valitset kohteen yhdistelmäruudusta. sd As Object viittaa tapahtuman käynnistäneeseen objektiin, kun taas event As EventArgs sisältää tapahtumatiedot.
  3. Merkkijonomuuttujan var_gender luominen.
  4. Muuttujan var_gender arvon asettaminen yhdistelmäruudussa valitulle kohteelle.
  5. Muuttujan var_gender arvon tulostaminen viestissäBox.
  6. Combon loppuBox1_SelectedIndexChanged alimenettely.
  7. Form1-luokan loppu.

Yhdistelmälaatikon kohteiden poistaminen

Voit poistaa kohteen yhdistelmälaatikostasi. Voit saavuttaa tämän kahdella tavalla. Voit käyttää joko nimikehakemistoa tai nimikkeen nimeä.

Kun käytät nimikeindeksiä, sinun tulee käyttää Items.RemoveAt()-ominaisuutta alla olevan kuvan mukaisesti:

ComboBox1.Items.RemoveAt(1)

Yllä olevassa esimerkissä poistamme yhdistelmälaatikon indeksissä 1 olevan kohteen. Huomaa, että yhdistelmälaatikon indeksit alkavat indeksistä 0, mikä tarkoittaa, että yllä oleva komento poistaa yhdistelmälaatikon toisen kohteen.

Jos haluat poistaa kohteen sen nimellä, sinun tulee käyttää Items.Remove()-ominaisuutta alla kuvatulla tavalla:

ComboBox1.Items.Remove("Female")

Yllä olevan koodin pitäisi poistaa yhdistelmästä NainenBox1.

Sitova tietolähde

YhdistelmäBox voidaan täyttää tietojoukosta. Harkitse alla olevaa SQL-kyselyä:

select emp_id, emp_name from employees; 

Voit luoda tietolähteen ohjelmassa ja käyttää seuraavaa koodia sen sitomiseen:

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

Tämä tarjoaa sinulle helpon tavan täyttää yhdistelmälaatikon ohjausobjekti tiedoilla ilman, että sinun tarvitsee kirjoittaa jokaista yksittäistä kohdetta.

SelectedIndexChanged tapahtuma

Usein haluat ohjelman reagoivan heti, kun käyttäjä valitsee uuden arvon.

Tämän tyyppinen tapahtuma kutsutaan, kun muutat valittua kohdetta yhdistelmälaatikossasi. Tätä tapahtumaa sinun tulee käyttää, kun sinun on suoritettava toiminto yhdistelmälaatikon valitun kohteen muutoksen yhteydessä. Osoittakaamme tämä esimerkin avulla:

Vaihe 1) Luo uusi Windows Lomakkeet Hakemus.

Vaihe 2) Sen jälkeen sinun on vedettävä ja pudotettava kaksi yhdistelmäruudun ohjausobjektia lomakkeeseen.

Kaksi yhdistelmäruudun ohjausobjektia vierekkäin VB.Netissä Windows muoto

Vaihe 3) Double Napsauta lomakkeen sisällä avataksesi koodin välilehden. Syötä seuraava koodi:

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

Vaihe 4) Suorita koodi napsauttamalla yläpalkin Käynnistä-painiketta. Sinun pitäisi saada seuraava tuloste:

Ensimmäinen yhdistelmäruutu, joka täytetään miehillä ja naisilla Form_Load-kohdassa

Vaihe 5) Napsauta ensimmäisen yhdistelmäruudun alasvetovalikkoa ja valitse Mies. Siirrä hiiren kursori toiseen yhdistelmäruutuun ja napsauta sen alasvetovalikkoa. Katso käytettävissä olevat kohteet:

Toinen yhdistelmäruutu, jossa näkyvät Nicholas ja John, kun Males on valittu

Vaihe 6) Siirry ensimmäiseen yhdistelmäruutuun ja valitse NainenSiirry toiseen yhdistelmäruutuun ja katso käytettävissä olevat kohteet:

Toinen yhdistelmäruutu, jossa näkyvät Alice ja Grace sen jälkeen, kun Females on valittu

Tässä on kuvakaappaus koodista:

Code Kuvakaappaus kahden yhdistelmäruudun VB.Net SelectedIndexChanged-käsittelijästä

Selitys Code:

  1. Luodaan luokka nimeltä Form1.
  2. Form1_Load()-nimisen aliproseduurin alku. Tämä käynnistyy, kun lomake on ladattu. sd As Object viittaa tapahtuman käynnistäneeseen objektiin, kun taas event As EventArgs sisältää tapahtumatiedot.
  3. Kohteen Miehet lisääminen yhdistelmäänBox1.
  4. Kohteen Naiset lisääminen yhdistelmäänBox1.
  5. Form1_Load()-alimenettelyn loppu.
  6. Combo-nimisen alimenettelyn aloitusBox1_SelectedIndexChanged(). Tämä otetaan käyttöön, kun kohde valitaan ensimmäisestä yhdistelmälaatikosta. Lähettäjä As Object viittaa objektiin, joka nosti tapahtuman, kun taas e As EventArgsilla on tapahtumatiedot.
  7. Tee ComboBox2 tyhjä, poista kaikki kohteet siitä.
  8. Ehdon luominen. Tarkistetaan, onko valittu kohde yhdistelmässäBox1 on miehiä.
  9. Lisää Nicholas yhdistelmäänBox2, kun yllä oleva ehto on totta, eli Combossa valittu kohdeBox1 on mies.
  10. Lisää kohde John yhdistelmäänBox2, kun yllä oleva ehto on totta, eli Combossa valittu kohdeBox1 on miehiä.
  11. Ehdon luominen. Tarkistetaan, onko valittu kohde yhdistelmässäBox1 on naaraat.
  12. Lisää esine Alice yhdistelmäänBox2, kun yllä oleva ehto on totta, eli Combossa valittu kohdeBox1 on naaraat.
  13. Lisää esine Grace yhdistelmäänBox2, kun yllä oleva ehto on totta, eli Combossa valittu kohdeBox1 on naaraat.
  14. If-lohkon loppu.
  15. Combon loppuBox1_SelectedIndexChanged() -alimenettely.
  16. Luokan päättyminen Lomake1.

UKK

YhdistelmäBox säästää tilaa piilottamalla luettelon, kunnes nuolta napsautetaan, ja voi hyväksyä kirjoitettua syötettä. ListaBox näyttää kaikki kohteet kerralla ja sallii vain valinnan.

DropDownStyle valitsee toiminnan: DropDown (oletus) antaa käyttäjän kirjoittaa vapaata tekstiä; DropDownList rajoittaa syötteen luettelon kohtiin; Simple pitää luettelon aina auki.

SelectedIndex palauttaa nollapohjaisen sijainnin, SelectedItem palauttaa kyseiseen riviin sidotun objektin ja Text palauttaa muokkauskentässä olevan merkkijonon, mukaan lukien käyttäjän kirjoittaman tekstin.

PuheluyhdistelmäBox1.Items.Clear() tyhjentääksesi listan. Voit myös nollata muokkauskentässä näkyvän tekstin lisäämällä sen perään Combo-funktion.Box1. Valittu indeksi = -1 tai aseta yhdistelmäBox1.Teksti = Merkkijono.Tyhjä.

Aseta DropDownStyle-ominaisuudeksi DropDownList Ominaisuudet-ikkunassa tai koodissa (ComboBox1.AlaslaskettavanTyyli = YhdistelmäBoxStyle.DropDownList). Käyttäjä voi sitten valita vain listalla jo olevia kohteita.

TextChanged käynnistyy, kun käyttäjä muokkaa tekstiruutuosaa. SelectedIndexChanged käynnistyy vain, kun avattavan luettelon korostettu kohta muuttuu joko hiirellä, näppäimistöllä tai koodilla.

Kyllä. GitHub Copilot muuntaa selkokielisen kommentin täydeksi SelectedIndexChanged- tai DataBindings-lohkoksi. Tarkista aina luotu koodi ennen lähettämistä.ping.

Kyllä. Visual Studio 2026 yhdistää Copilotin InteliCode koko rivin mittaisille, kontekstitietoisille Combon täydennyksilleBox ominaisuuksia ja tapahtumia.

Tiivistä tämä viesti seuraavasti: