VB.Net-comboBox Controle met VOORBEELD
Wat is Combobox Control?
Met de combobox-besturing kunt u een vervolgkeuzelijst met veel items weergeven. Zie het als een combinatie van een tekstvak waarin een gebruiker tekst invoert en een vervolgkeuzelijst waaruit een gebruiker een item selecteert. Let op dat de combobox één item tegelijk weergeeft.
Een keuzelijst maken
Een comboBox kan als volgt worden aangemaakt:
Stap 1) Maak een Nieuwe Applicatie.
Stap 2) Sleep een keuzelijstbesturingselement uit de gereedschapskist naar het formulier.
U hebt nu een keuzelijstbesturingselement gemaakt.
Items toevoegen aan de keuzelijst
Nu we een keuzelijst hebben gemaakt, laten we zien hoe u er items aan kunt toevoegen.
Double Klik op de combobox-besturing die u hebt toegevoegd. U wordt verplaatst van het tabblad Design naar het tabblad met code.
Om een item toe te voegen aan een combobox-besturingselement, gebruiken we de Items-eigenschap. Laten we dit demonstreren door twee items toe te voegen aan de combobox, Male en Female:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
We kunnen er ook voor kiezen om items toe te voegen aan de combobox tijdens het ontwerpen vanuit het Properties-venster. Dit zijn de stappen:
Stap 1) Open het tabblad Ontwerp en klik op het besturingselement voor de keuzelijst.
Stap 2) Ga naar het venster Eigenschappen en bekijk de optie Items.
Stap 3) Klik op de … rechts van (Verzameling).
Stap 4)U ziet een nieuw venster. Hier moet u items toevoegen aan de combobox, zoals hieronder weergegeven:
Stap 5) Als u klaar bent met het typen van de items, klikt u op de knop OK.
Stap 6) Klik op de Start-knop in de bovenste werkbalk en klik op het vervolgkeuzepictogram in de keuzelijst.
De items zijn succesvol toegevoegd aan het keuzerondje.
Keuzelijstitems selecteren
Mogelijk moet u het standaarditem instellen dat wordt geselecteerd wanneer het formulier wordt geladen. U kunt dit bereiken via de methode SelectedItem(). Om bijvoorbeeld het standaard geselecteerde geslacht in te stellen op Man, kunt u de volgende instructie gebruiken:
ComboBox1.SelectedItem = "Male"
Wanneer u de code uitvoert, zou het keuzerondje er als volgt uit moeten zien:
Combobox-waarden ophalen
U kunt het geselecteerde item uit uw combobox halen. Dit kan worden gedaan met behulp van de text-eigenschap. Laten we dit demonstreren met behulp van onze bovenstaande combobox met twee items, namelijk Man en Vrouw. Volg de onderstaande stappen:
Stap 1) Double Klik op de keuzelijst om het tabblad te openen met VB.NET code.
Stap 2) Voeg de volgende code toe:
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
Stap 3) Klik op de Start-knop in de werkbalk om de code uit te voeren. U zou het volgende formulier moeten krijgen:
Stap 4) Klik op de dropdown-knop en kies je geslacht. In mijn geval kies ik Man en krijg ik het volgende:
Hier is een screenshot van de code:
Verklaring van code:
- Een klasse maken met de naam Form1. De klasse is openbaar toegankelijk omdat de toegangsmodificator is ingesteld op Openbaar.
- Starten van een subprocedure genaamd ComboBox1_SelectedIndexChanged. Dit wordt automatisch gegenereerd wanneer u dubbelklikt op het combobox-besturingselement van het tabblad Design. Deze subprocedure wordt aangeroepen wanneer u een item selecteert in de combobox. De sd As Object verwijst naar het object dat de gebeurtenis heeft veroorzaakt, terwijl de gebeurtenis As EventArgs de gebeurtenisgegevens s heeft.
- Een geheel getal met de naam var_gender maken.
- De waarde van variabele var_gender instellen op het item dat is geselecteerd in de keuzelijst.
- De waarde van de variabele var_gender afdrukken op een berichtBox.
- Einde van de combiBox1_SelectedIndexChanged subprocedure.
- Einde van de Form1-klasse.
Combobox-items verwijderen
Het is mogelijk om een item uit uw combobox te verwijderen. Er zijn twee manieren om dit te doen. U kunt de itemindex of de naam van het item gebruiken.
Wanneer u de itemindex gebruikt, moet u de eigenschap Items.RemoveAt() gebruiken, zoals hieronder weergegeven:
ComboBox1.Items.RemoveAt(1)
In het bovenstaande voorbeeld verwijderen we het item dat zich op index 1 van de combobox bevindt. Let op dat comboboxindexen beginnen bij index 0, wat betekent dat de bovenstaande opdracht het tweede item van de combobox verwijdert.
Om het item met behulp van de naam te verwijderen, moet u de eigenschap Items.Remove() gebruiken, zoals hieronder weergegeven:
ComboBox1.Items.Remove("Female")
De bovenstaande code zou het item met de naam Female uit de Combo moeten verwijderenBox1.
Bindende gegevensbron
Een comboBox kan worden gevuld vanuit een gegevensset. Beschouw de onderstaande SQL-query:
select emp_id, emp_name from employees;
U kunt een gegevensbron in een programma maken en vervolgens de volgende code gebruiken om deze te binden:
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
Hiermee kunt u eenvoudig gegevens in uw keuzelijst plaatsen, zonder dat u elk afzonderlijk item hoeft in te voeren.
SelectedIndexChanged-gebeurtenis
Dit type gebeurtenis wordt aangeroepen wanneer u het geselecteerde item op uw combobox wijzigt. Het is de gebeurtenis die u moet gebruiken wanneer u een actie moet implementeren na een wijziging op het geselecteerde item van een combobox. Laten we dit demonstreren aan de hand van een voorbeeld:
Stap 1) Maak een nieuwe Window Forms-toepassing.
Stap 2) Daarna moet je dit doen Versleep twee keuzelijsten naar het formulier.
Stap 3) Double Klik binnen het formulier om het tabblad voor de code te openen. Voer de volgende code in:
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
Stap 4) Klik op de Start-knop in de bovenste balk om de code uit te voeren. U zou de volgende uitvoer moeten krijgen:
Stap 5) Klik op de dropdownknop op de eerste combobox en kies Male. Beweeg de muiscursor naar de tweede combobox en klik op de dropdownknop. Bekijk de beschikbare items:
Stap 6) Ga naar de eerste combobox en kies Vrouw. Ga naar de tweede combobox en bekijk de beschikbare items:
Hier is een screenshot van de code:
Verklaring van code:
- Een klasse maken met de naam Form1.
- Start van een subprocedure met de naam Form1_Load(). Dit wordt geactiveerd zodra het formulier is geladen. Het sd As Object verwijst naar het object dat de gebeurtenis heeft veroorzaakt, terwijl het systeem As EventArgs de gebeurtenisgegevens heeft.
- Het item Mannetjes toevoegen aan de ComboBox1.
- Het item Vrouwtjes toevoegen aan de ComboBox1.
- Einde van de subprocedure Form1_Load().
- Start van een subprocedure genaamd ComboBox1_SelectedIndexChanged(). Dit wordt aangeroepen wanneer een item wordt geselecteerd in de eerste combobox. De afzender As Object verwijst naar het object dat de gebeurtenis heeft veroorzaakt, terwijl de e As EventArgs de gebeurtenisgegevens heeft.
- Combinatie makenBox2 leeg, verwijder alle items ervan.
- Het creëren van een voorwaarde. Controleren of het geselecteerde item op Combo staatBox1 is mannetjes.
- Voeg het item Nicholas toe aan de ComboBox2 wanneer de bovenstaande voorwaarde waar is, dat wil zeggen, item geselecteerd op ComboBox1 is mannelijk.
- Voeg het item John toe aan de ComboBox2 wanneer de bovenstaande voorwaarde waar is, dat wil zeggen, item geselecteerd op ComboBox1 is mannetjes.
- Het creëren van een voorwaarde. Controleren of het geselecteerde item op Combo staatBox1 is vrouwtjes.
- Voeg het item Alice toe aan de ComboBox2 wanneer de bovenstaande voorwaarde waar is, dat wil zeggen, item geselecteerd op ComboBox1 is vrouwtjes.
- Voeg het item Grace toe aan de ComboBox2 wanneer de bovenstaande voorwaarde waar is, dat wil zeggen, item geselecteerd op ComboBox1 is vrouwtjes.
- Einde van het If-blok.
- Einde van de combiBox1_SelectedIndexChanged() subprocedure.
- Einde van de les Formulier1.
Samenvatting
- Een comboBox wordt gemaakt door het uit de gereedschapskist te slepen en in het formulier neer te zetten.
- Het biedt ons een manier om talloze opties aan de gebruiker te presenteren.
- We kunnen instellen dat het standaarditem in de Combo moet worden geselecteerdBox wanneer het formulier is geladen.
- Met de gebeurtenis SelectedIndexChanged kunnen we opgeven welke actie moet worden ondernomen wanneer een bepaald item in de keuzelijst wordt geselecteerd.