VB.Net ComboBox Styr med EXEMPEL
โก Smart sammanfattning
KomboBox i VB.Net รคr en Windows Formulรคrkontroll som kombinerar en textruta med en rullgardinsmeny, vilket lรฅter anvรคndaren vรคlja ett enskilt objekt eller skriva ett, vilket sparar utrymme i ett formulรคr.
Vad รคr Combobox Control?
Combobox-kontrollen hjรคlper dig att visa en rullgardinslista med mรฅnga objekt. Se det som en kombination av en textruta dรคr en anvรคndare skriver in text och en rullgardinslista frรฅn vilken en anvรคndare vรคljer ett objekt. Observera att kombinationsrutan visar ett objekt รฅt gรฅngen.
Skapa en Combobox
En komboBox kan skapas enligt fรถljande:
Steg 1) Skapa en ny applikation.
Steg 2) Dra en kombinationsrutekontroll frรฅn verktygslรฅdan till formulรคret.
Du kommer att ha skapat en combobox-kontroll.
Lรคgga till objekt i Combobox
Nu nรคr vi har skapat en kombinationsruta, lรฅt oss visa hur man lรคgger till objekt till den.
Double klicka pรฅ kombinationsrutan som du har lagt till. Du kommer att flyttas frรฅn designfliken till fliken med kod.
Fรถr att lรคgga till ett objekt till en kombinationsruta-kontroll anvรคnder vi egenskapen Objekt. Lรฅt oss visa detta genom att lรคgga till tvรฅ objekt i kombinationsrutan, Man och Kvinna:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
Vi kan ocksรฅ vรคlja att lรคgga till objekt i kombinationsrutan vid designtillfรคllet frรฅn fรถnstret Egenskaper. Hรคr รคr stegen:
Steg 1) รppna fliken design och klicka pรฅ kombinationsrutan.
Steg 2) Gรฅ till Egenskaper-fรถnstret och visa alternativet Objekt.
Steg 3) Klicka pรฅ โฆ som finns till hรถger om (Samling).
Steg 4) Du kommer att se ett nytt fรถnster. Det รคr hรคr du ska lรคgga till objekt i kombinationsrutan, som visas nedan:
Steg 5) Nรคr du รคr klar med typing objekten, klicka pรฅ OK-knappen.
Steg 6) Klicka pรฅ Start-knappen i det รถvre verktygsfรคltet och klicka pรฅ rullgardinsmenyn i kombinationsrutan.
Objekten har lagts till i kombinationsrutan.
Vรคlja Combobox-objekt
Du kan behรถva stรคlla in standardobjektet som kommer att vรคljas nรคr formulรคret laddas. Du kan uppnรฅ detta via metoden SelectedItem(). Till exempel, fรถr att stรคlla in det valda kรถnet som standard till Man, kan du anvรคnda fรถljande uttalande:
ComboBox1.SelectedItem = "Male"
Nรคr du kรถr koden bรถr combobox-kontrollen vara som visas nedan:
Hรคmtar Combobox-vรคrden
Du kan hรคmta det valda objektet frรฅn din kombinationsruta. Detta kan gรถras med hjรคlp av textegenskapen. Lรฅt oss demonstrera detta med hjรคlp av vรฅr ovanstรฅende kombinationsruta med tvรฅ objekt, det vill sรคga Man och Kvinna. Fรถlj stegen nedan:
Steg 1) Double Klicka pรฅ kombinationsrutan fรถr att รถppna fliken med VB.Net-kod.
Steg 2) Lรคgg till fรถljande kod:
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
Steg 3) Klicka pรฅ Start-knappen i verktygsfรคltet fรถr att kรถra koden. Du bรถr fรฅ upp fรถljande formulรคr:
Steg 4) Klicka pรฅ rullgardinsmenyn och vรคlj ditt kรถn. I mitt fall vรคljer jag Man, och jag fรฅr fรถljande:
Hรคr รคr en skรคrmdump av koden:
Fรถrklaring till Code:
- Skapa en klass som heter Form1. Klassen kommer att vara allmรคnt tillgรคnglig eftersom dess รฅtkomstmodifierare har stรคllts in pรฅ Offentlig.
- Starta en delprocedur med namnet ComboBox1_SelectedIndexChanged. Detta genereras automatiskt nรคr du dubbelklickar pรฅ kombinationsrutans kontroll frรฅn designfliken. Denna underprocedur anropas nรคr du vรคljer ett objekt frรฅn kombinationsrutan. sd As Object refererar till objektet som utlรถste hรคndelsen, medan evnt As EventArgs innehรฅller hรคndelsedata.
- Skapar en strรคngvariabel med namnet var_gender.
- Stรคller in vรคrdet fรถr variabeln var_gender till objektet som vรคljs i kombinationsrutan.
- Skriva ut vรคrdet fรถr variabeln var_gender i ett meddelandeBox.
- Slutet pรฅ kombinationenBox1_SelectedIndexChanged underprocedur.
- Slutet pรฅ Form1-klassen.
Ta bort Combobox-objekt
Det รคr mรถjligt fรถr dig att ta bort ett objekt frรฅn din kombinationsruta. Det finns tvรฅ sรคtt genom vilka du kan รฅstadkomma detta. Du kan anvรคnda antingen objektindex eller namnet pรฅ objektet.
Nรคr du anvรคnder objektindexet bรถr du anvรคnda egenskapen Items.RemoveAt() enligt nedan:
ComboBox1.Items.RemoveAt(1)
I exemplet ovan tar vi bort objektet som finns i index 1 i kombinationsrutan. Observera att combobox-index bรถrjar vid index 0, vilket betyder att kommandot ovan tar bort det andra objektet i comboboxen.
Fรถr att ta bort objektet med dess namn bรถr du anvรคnda egenskapen Items.Remove() enligt nedan:
ComboBox1.Items.Remove("Female")
Ovanstรฅende kod bรถr ta bort objektet med namnet Female frรฅn ComboBox1.
Bindande datakรคlla
En komboBox kan fyllas i frรฅn en datamรคngd. Tรคnk pรฅ SQL-frรฅgan nedan:
select emp_id, emp_name from employees;
Du kan skapa en datakรคlla i ett program och sedan anvรคnda fรถljande kod fรถr att binda den:
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
Detta ger dig ett enkelt sรคtt att fylla din kombinationsruta med data utan att behรถva skriva varje enskilt objekt.
SelectedIndexChanged hรคndelse
Du vill ofta att ditt program ska reagera i det รถgonblick anvรคndaren vรคljer ett nytt vรคrde.
Den hรคr typen av hรคndelse anropas nรคr du รคndrar det valda objektet pรฅ din kombinationsruta. Det รคr hรคndelsen du bรถr anvรคnda nรคr du behรถver implementera en รฅtgรคrd vid en รคndring av det valda objektet i en kombinationsruta. Lรฅt oss visa detta med hjรคlp av ett exempel:
Steg 1) Skapa en ny Windows Blanketter ansรถkan.
Steg 2) Efter det behรถver du dra och slรคppa tvรฅ kombinationsrutor till formulรคret.
Steg 3) Double klicka i formulรคret fรถr att รถppna fliken fรถr kod. Ange fรถljande kod:
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
Steg 4) Klicka pรฅ Start-knappen i den รถvre fรคltet fรถr att kรถra koden. Du bรถr fรฅ fรถljande utdata:
Steg 5) Klicka pรฅ rullgardinsmenyn i den fรถrsta kombinationsrutan och vรคlj Man. Flytta muspekaren till den andra kombinationsrutan och klicka pรฅ dess rullgardinsmeny. Se tillgรคngliga alternativ:
Steg 6) Gรฅ till den fรถrsta kombinationsrutan och vรคlj KvinnaGรฅ till den andra kombinationsrutan och se de tillgรคngliga objekten:
Hรคr รคr en skรคrmdump av koden:
Fรถrklaring till Code:
- Skapa en klass som heter Form1.
- Start av en delprocedur med namnet Form1_Load(). Denna kommer att utlรถsas nรคr formulรคret har laddats. sd As Object refererar till objektet som genererade hรคndelsen, medan evnt As EventArgs innehรฅller hรคndelsedata.
- Lรคgger till objektet Hanar till kombinationenBox1.
- Lรคgga till objektet Kvinnor till kombinationenBox1.
- Slut pรฅ underproceduren Form1_Load().
- Start av en underprocedur som heter ComboBox1_SelectedIndexChanged(). Detta kommer att anropas nรคr ett objekt vรคljs i den fรถrsta kombinationsrutan. Avsรคndaren som objekt refererar till objektet som skapade hรคndelsen medan e As EventArgs har hรคndelsedata.
- Gรถr ComboBox2 tomma, rensa alla fรถremรฅl frรฅn den.
- Skapar ett villkor. Kontrollerar om det valda objektet รคr pรฅ ComboBox1 รคr hanar.
- Lรคgg till objektet Nicholas i kombinationenBox2 nรคr ovanstรฅende villkor รคr sant, det vill sรคga objekt som valts pรฅ ComboBox1 รคr man.
- Lรคgg till objektet John i kombinationenBox2 nรคr ovanstรฅende villkor รคr sant, det vill sรคga objekt som valts pรฅ ComboBox1 รคr hanar.
- Skapar ett villkor. Kontrollerar om det valda objektet รคr pรฅ ComboBox1 รคr honor.
- Lรคgg till objektet Alice i kombinationenBox2 nรคr ovanstรฅende villkor รคr sant, det vill sรคga objekt som valts pรฅ ComboBox1 รคr honor.
- Lรคgg till objektet Grace i kombinationenBox2 nรคr ovanstรฅende villkor รคr sant, det vill sรคga objekt som valts pรฅ ComboBox1 รคr honor.
- Slutet pรฅ If-blocket.
- Slutet pรฅ kombinationenBox1_SelectedIndexChanged() underprocedur.
- Slut pรฅ klassen Form1.













