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: