VB.Net ComboBox Vezérlés az EXAMPLE-vel

⚡ Okos összefoglaló

ComboBox A VB.Net-ben egy Windows Űrlapok vezérlőelem, amely egy szövegdobozt egy legördülő listával kombinál, lehetővé téve a felhasználó számára, hogy egyetlen elemet válasszon ki vagy írjon be, így helyet takaríthat meg az űrlapon.

  • 🎯 Cél: Legördülő lista megjelenítése, ahol a felhasználó kiválaszthat vagy beírhat egy értéket.
  • Elemek hozzáadása: Töltse ki a kombinált listát a Tulajdonságok ablakban, vagy futásidőben az Items.Add paraméterrel.
  • 🔍 Kijelölés olvasása: A SelectedItem, a SelectedIndex és a Text a felhasználó által kiválasztott értéket adja vissza.
  • 🗄️ Adatkötés: Állítsa be a DataSource, DisplayMember és ValueMember paramétereket a sorok adathalmazból történő betöltéséhez.
  • 🔔 Változások észlelése: A SelectedIndexChanged esemény minden alkalommal aktiválódik, amikor a kiválasztott elem megváltozik.
  • 🤖 MI segítség: GitHub Copilot és Visual Studio IntelliCode írási kombinációBox kezelők gépelés közben.

VB.Net ComboBox Vezérlés

Mi az a Combobox Control?

A kombinált vezérlő segítségével sok elemet tartalmazó legördülő lista jeleníthető meg. Tekintse meg egy szövegdoboz, amelybe a felhasználó szöveget ír be, és egy legördülő lista kombinációja, amelyből a felhasználó kiválaszt egy elemet. Vegye figyelembe, hogy a kombinált doboz egyszerre csak egy elemet jelenít meg.

Combobox létrehozása

Egy kombóBox a következőképpen hozható létre:

1. lépés) Hozzon létre egy új alkalmazást.

2. lépés) Húzzon egy kombinált listaelemet az eszköztárból az űrlapra.

VB.Net kombinált mező vezérlőeleme az eszköztárból egy Windows Forma

Létrehozott egy kombinált vezérlőt.

Elemek hozzáadása a Comboboxhoz

Most, hogy létrehoztunk egy kombinált dobozt, mutassuk meg, hogyan adhatunk hozzá elemeket.

Double kattintson a hozzáadott kombinált vezérlőelemre. A tervezés lapról a kódot tartalmazó lapra kerül.

Ha egy elemet szeretne hozzáadni egy kombinált vezérlőhöz, akkor az Items tulajdonságot használjuk. Mutassuk meg ezt úgy, hogy hozzáadunk két elemet a kombinált dobozhoz, a férfit és a nőt:

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

Azt is megválaszthatjuk, hogy a Tulajdonságok ablakból a tervezés időpontjában adjunk hozzá elemeket a kombinált dobozhoz. Íme a lépések:

1. lépés) Nyissa meg a tervezés fület, és kattintson a kombinált lista vezérlőjére.

2. lépés) Lépjen a Tulajdonságok ablakba, és tekintse meg az Elemek opciót.

3. lépés) Kattintson a (Gyűjtemény) jobb oldalán található … ikonra.

Elemek hozzáadása egy VB.Net kombinált listához kódban az Items.Add metódussal

VB.Net Tulajdonságok ablak, amely megnyitja a kombinált listát az Elemgyűjtemény szerkesztőjében

4. lépés) Egy új ablak jelenik meg. Itt kell hozzáadnia az elemeket a kombinált listához, az alábbiak szerint:

Karakterlánc-gyűjtemény szerkesztő, amely felsorolja a férfi és női kombinált listában szereplő elemeket

5. lépés) Miután végeztél a ty-valping az elemeket, kattintson az OK gombra.

6. lépés) Kattintson a Start gombra a felső eszköztáron, majd kattintson a legördülő ikonra a kombinált listában.

A VB.Net kombinált listája, amelyen a Férfi elem látható alapértelmezettként futásidőben

Az elemek sikeresen hozzáadva a kombinált vezérlőhöz.

A Combobox elemek kiválasztása

Előfordulhat, hogy be kell állítania az űrlap betöltésekor kiválasztandó alapértelmezett elemet. Ezt a SelectedItem() metódussal érheti el. Ha például az alapértelmezett kiválasztott nemet Férfi értékre szeretné beállítani, használja a következő utasítást:

ComboBox1.SelectedItem = "Male"

A kód futtatásakor a kombinált vezérlőelemnek az alábbiak szerint kell lennie:

VB.Net űrlap, amely férfi és női opciókkal ellátott kombinált listát jelenít meg

Combobox értékek lekérése

A kiválasztott elemet a kombinált listából kinyerheted. Ezt a text tulajdonság használatával teheted meg. Nézzük meg ezt a fenti kombinált listánkkal, amely két elemet, azaz Férfi és Nő elemet tartalmaz, demonstráljuk. Kövesd az alábbi lépéseket:

Step 1) Double Kattintson a kombinált listára a VB.Net kódot tartalmazó lap megnyitásához.

2. lépés) Adja hozzá a következő kódot:

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

3. lépés) Kattintson a Start gombra az eszköztáron a kód végrehajtásához. A következő űrlapot kell kapnia:

Code A VB.Net SelectedIndexChanged eseménykezelőjének képernyőképe

4. lépés) Kattintson a legördülő menüre, és válassza ki a nemét. Az én esetemben a Férfi lehetőséget választottam, és a következőket kapom:

VB.Net üzenetmező, amelyen a kiválasztott kombinált listaelem szövege látható Férfi

Itt van egy képernyőkép a kódról:

Magyarázat Code:

  1. Form1 nevű osztály létrehozása. Az osztály nyilvánosan elérhető lesz, mivel a hozzáférés-módosítója Nyilvánosra van állítva.
  2. Combo nevű alprogram indításaBox1_SelectedIndexChanged. Ez automatikusan generálódik, amikor duplán kattint a kombinált lista vezérlőjére a tervezés lapon. Ez az alkáli eljárás akkor kerül meghívásra, amikor kiválaszt egy elemet a kombinált listából. Az sd As Object az eseményt kiváltó objektumra hivatkozik, míg az event As EventArgs az eseményadatokat tárolja.
  3. Egy var_gender nevű karakterlánc változó létrehozása.
  4. A var_gender változó értékének beállítása a kombinált mezőben kiválasztott elemre.
  5. A var_gender változó értékének kinyomtatása egy üzenetbenBox.
  6. A kombó végeBox1_SelectedIndexChanged aleljárás.
  7. Vége a Form1 osztálynak.

Combobox elemek eltávolítása

Lehetőség van egy elem eltávolítására a kombinált dobozból. Ezt kétféleképpen érheti el. Használhatja a cikkindexet vagy a cikk nevét.

A cikkindex használatakor az Items.RemoveAt() tulajdonságot kell használni az alábbiak szerint:

ComboBox1.Items.RemoveAt(1)

A fenti példában eltávolítjuk a kombinált doboz 1. indexénél található elemet. Vegye figyelembe, hogy a kombinált indexek 0-val kezdődnek, ami azt jelenti, hogy a fenti parancs eltávolítja a kombinált doboz második elemét.

Az elem nevével való eltávolításához használja az Items.Remove() tulajdonságot az alábbiak szerint:

ComboBox1.Items.Remove("Female")

A fenti kódnak el kell távolítania a Female nevű elemet a kombinációbólBox1.

Binding DataSource

Egy kombóBox adatkészletből tölthető fel. Tekintsük az alábbi SQL-lekérdezést:

select emp_id, emp_name from employees; 

Létrehozhat egy adatforrást egy programban, majd a következő kóddal kötheti össze:

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

Ez egyszerű módot kínál a kombinált vezérlőelem adatokkal való feltöltésére anélkül, hogy minden egyes elemet be kellene írnia.

SelectedIndexChanged esemény

Gyakran azt szeretnéd, hogy a programod abban a pillanatban reagáljon, amikor a felhasználó új értéket választ.

Ez az eseménytípus akkor kerül meghívásra, amikor módosítja a kiválasztott elemet a kombinált dobozban. Ez az az esemény, amelyet akkor kell használni, amikor egy műveletet kell végrehajtania a kombinált doboz kiválasztott elemének módosítása esetén. Mutassuk meg ezt egy példa segítségével:

1. lépés) Hozzon létre egy újat Windows Jelentkezési űrlapok.

2. lépés) Ezután két kombinált mező vezérlőelemét kell áthúzni az űrlapra.

Két kombinált mező egymás mellett elhelyezett vezérlőeleme egy VB.Net-en Windows Forma

Step 3) Double kattintson az űrlapon belülre a kód lapjának megnyitásához. Írja be a következő kódot:

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

4. lépés) Kattintson a Start gombra a felső sávon a kód futtatásához. A következő kimenetet kell kapnia:

Az első kombinált mező férfiakkal és nőkkel feltöltve a Form_Load során

5. lépés) Kattintson az első kombinált listán található legördülő gombra, és válassza a Férfi lehetőséget. Vigye az egérmutatót a második kombinált listára, és kattintson a legördülő gombra. Tekintse meg az elérhető elemeket:

A második kombinált lista, amely a Férfiak kiválasztása után Nicholast és Johnt mutatja

6. lépés) Lépjen az első kombinált listára, és válassza a . Lépjen a második kombinált listára, és tekintse meg az elérhető elemeket:

A második kombinált mező, amely Alice-t és Grace-t mutatja a Nők kiválasztása után

Itt van egy képernyőkép a kódról:

Code képernyőkép a két kombinált mezőből álló VB.Net SelectedIndexChanged kezelőről

Magyarázat Code:

  1. Form1 nevű osztály létrehozása.
  2. Egy Form1_Load() nevű alprogram indítása. Ez a form betöltése után indul el. Az sd As Object az eseményt kiváltó objektumra hivatkozik, míg az event As EventArgs az esemény adatait tárolja.
  3. A Férfiak elem hozzáadása a kombinációhozBox1.
  4. A Nők elem hozzáadása a kombinációhozBox1.
  5. A Form1_Load() aleljárás vége.
  6. A Combo nevű aleljárás indításaBox1_SelectedIndexChanged(). Ez akkor lesz meghívva, amikor egy elemet kiválasztanak az első kombinált dobozban. A küldő As Object az eseményt előidéző ​​objektumra hivatkozik, míg az e As EventArgs rendelkezik az eseményadatokkal.
  7. Készíts Combo-tBox2 üres, törölje le az összes elemet.
  8. Feltétel létrehozása. Annak ellenőrzése, hogy a kiválasztott elem-e a Combo-nBox1 a férfiak.
  9. Adja hozzá a Nicholas elemet a kombinációhozBox2, ha a fenti feltétel igaz, vagyis a Combo-n kiválasztott elemBox1 férfi.
  10. Adja hozzá a János elemet a kombinációhozBox2, ha a fenti feltétel igaz, vagyis a Combo-n kiválasztott elemBox1 a férfiak.
  11. Feltétel létrehozása. Annak ellenőrzése, hogy a kiválasztott elem-e a Combo-nBox1 a nőstények.
  12. Adja hozzá az Alice elemet a kombinációhozBox2, ha a fenti feltétel igaz, vagyis a Combo-n kiválasztott elemBox1 a nőstények.
  13. Adja hozzá a Grace elemet a kombinációhozBox2, ha a fenti feltétel igaz, vagyis a Combo-n kiválasztott elemBox1 a nőstények.
  14. Az If blokk vége.
  15. A kombó végeBox1_SelectedIndexChanged() aleljárás.
  16. Óra vége Form1.

GYIK

Egy kombóBox helyet takarít meg azáltal, hogy elrejti a listát, amíg a nyílra nem kattintunk, és begépelt bemenetet fogad.Box egyszerre mutatja az összes elemet, és csak a kiválasztást teszi lehetővé.

A DropDownStyle választja ki a viselkedést: A DropDown (alapértelmezett) lehetővé teszi a felhasználó számára, hogy szabad szöveget írjon be; a DropDownList a lista elemeire korlátozza a bevitelt; az Simple mindig nyitva tartja a listát.

A SelectedIndex a nulla alapú pozíciót, a SelectedItem az adott sorhoz kötött objektumot, a Text pedig a szerkesztőmezőben található karakterláncot adja vissza, beleértve a felhasználó által beírt szöveget is.

HíváskombinációBox1.Items.Clear() parancs a lista kiürítéséhez. A szerkesztőmezőben látható szöveg alaphelyzetbe állításához kövesse a Combo parancsot.Box1. Kiválasztott index = -1 vagy állítsa be a kombinációtBox1.Szöveg = Karakterlánc.Üres.

Állítsa a DropDownStyle tulajdonságot DropDownList értékre a Tulajdonságok ablakban vagy a kódban (ComboBox1. LegördülőStílus = KombinációBoxStyle.DropDownList). A felhasználó ezután csak a listában már szereplő elemeket választhatja ki.

A TextChanged függvény akkor aktiválódik, amikor a felhasználó szerkeszti a szövegdoboz részét. A SelectedIndexChanged függvény csak akkor aktiválódik, ha a legördülő listában kijelölt elem megváltozik, akár egérrel, billentyűzettel vagy kóddal.

Igen. GitHub másodpilóta egy sima angol nyelvű megjegyzést teljes SelectedIndexChanged vagy DataBindings blokkká alakít. A generált kódot mindig ellenőrizze a kiszállítás előtt.ping.

Igen. A Visual Studio 2026 párosítja a Copilotot a következővel: InteliCode a Combo teljes soros, kontextus-érzékeny kiegészítéseihezBox tulajdonságok és események.

Foglald össze ezt a bejegyzést a következőképpen: