VB.Net ComboBox Styr med EXEMPEL
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 kombinationsrutakontroll 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 designfliken och klicka på kombinationsrutan.
Steg 2) Flytta till fönstret Egenskaper och visa alternativet Objekt.
Steg 3) Klicka på … 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 att skriva objekten klickar du på OK-knappen.
Steg 6) Klicka på Start-knappen i det övre verktygsfältet och klicka på rullgardinsikonen 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 textegenskapen. Låt oss demonstrera detta med hjälp av vår kombinationsruta ovan 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 koda.
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å följande formulär:
Steg 4) Klicka på rullgardinsmenyn och välj ditt kön. I mitt fall. Jag väljer Man och får följande:
Här är en skärmdump av koden:
Förklaring av kod:
- Skapa en klass som heter Form1. Klassen kommer att vara allmänt tillgänglig eftersom dess åtkomstmodifierare har ställts in på Offentlig.
- Start av en underprocedur som heter ComboBox1_SelectedIndexChanged. Detta genereras automatiskt när du dubbelklickar på combobox-kontrollen från designfliken. Denna underprocedur kommer att anropas när du väljer ett objekt från kombinationsrutan. sd As Object refererar till objektet som skapade händelsen medan händelsen As EventArgs har händelsedata s.
- Skapa en sträng heltal med namnet var_gender.
- Ställer in värdet för variabeln var_gender till objektet som väljs i kombinationsrutan.
- Skriver ut värdet för variabeln var_gender på 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
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 Window Forms Application.
Steg 2) Efter det måste du Dra och släpp två combobox-kontroller i 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 från den övre raden för att köra koden. Du bör få följande utdata:
Steg 5) Klicka på rullgardinsknappen på den första kombinationsrutan och välj Man. Flytta muspekaren till den andra kombinationsrutan och klicka på dess rullgardinsknapp. Se de tillgängliga föremålen:
Steg 6) Flytta till den första kombinationsrutan och välj Kvinna. Flytta till den andra kombinationsrutan och se de tillgängliga objekten:
Här är en skärmdump av koden:
Förklaring av kod:
- Skapa en klass som heter Form1.
- Start av en underprocedur med namnet Form1_Load(). Detta kommer att utlösas när formuläret har laddats. sd As Object refererar till objektet som skapade händelsen medan systemet As EventArgs har 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.
Sammanfattning
- En komboBox skapas genom att dra den från verktygslådan och släppa den i formuläret.
- Det ger oss ett sätt att presentera många alternativ för användaren.
- Vi kan ställa in standardobjektet som ska väljas på ComboBox när formuläret är laddat.
- Händelsen SelectedIndexChanged hjälper oss att specificera åtgärden som ska utföras när ett visst objekt väljs i kombinationsrutan.