ComboBox | |
![]() | ![]() |
![]() | |
Om man vill ha en lista över någonting som användaren skall välja alternativ ur, kan man använda en rullgardin eller en lista. Objekten skiljer sig åt genom att listorna oftast lagrar värden från användaren, medan rullgardinsmenyn ger användaren förutbestämda valmöjligheter. I verktygslådan heter rullgardinsmenyn ComboBox. Vi börjar med att placera en ComboBox på ett tomt formulär. Den får namnet ComboBox1. I Properties för ComboBox1 finns en rad kallad Items och till höger står det (Collection). Klicka där på knappen med tre prickar så kommer det upp ett fönster där man kan skriva vad som skall finnas att välja i rullgardinsmenyn. Man kan skriva in detta direkt eller kopiera från ett annat ställe och klistra in.
När programmet körs, syns alternativen i comboboxen. Sätt även dit en Label i formen. Dubbelklicka på ComboBox1 och följande kommer upp på skärmen: Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged End Sub Händelsen SelectedIndexChanged är satt som Default i VisualBasic, det vill säga att det är den händelsen som oftast är förknippad med objektet och är förvald. Varje rad i listan har ett index. Den första raden har nummer ett. När man klickar på ett alternativ så ändras indexet som motsvarar den raden, alltså händelsen SelectedIndexChanged utlöses. Mellan de båda kodraderna skriver vi nu koden för att Label1:s egenskap Text skall få det värde man väljer i ComboBox1:s egenskap SelectedItem, alltså den rad man klickat på i listan: Label1.Text = ComboBox1.SelectedItem Lägg märke till att när du har skrivit ComboBox1. (alltså inte bara kopierat in koden, det lär man sig inget på), öppnas en lista över de variabler du kan ange i Comboboxen. Vet man inte vilket man skall välja får man pröva något, starta programmet och se vad som händer. Det lär man sig mycket av. Man kan även med kod lägga till rader i rullgardinsmenyn. Lägg dit en TextBox och en knapp i formen. Dubbelklicka på knappen och skriv: ComboBox1.Items.Add(TextBox1.Text) Lägg märke till att om du inte skriver parenteserna runt TextBox1.Text, läggs dessa till automatiskt. När man nu skriver något i textboxen och klickar på knappen, läggs det skrivna till i rullgardinslistan. Enklast för användaren är att man rensar textboxen när man har fört över texten, samt sätter fokus på den så att användaren kan skriva dit ett nytt ord. Lägg därför till följande i knappen: TextBox1.ResetText() Man vill kanske ta bort något ur listan. Det kan man göra på flera sätt. Sätt dit en ny knapp och skriv "Ta bort" på den. Dubbelklicka och skriv: ComboBox1.Items.Remove (ComboBox1.SelectedItem) När man nu klickar för att markera något i listan, och sedan klickar på knappen "Ta bort", försvinner det man markerat ur listan. Man kan också styra raderingen utan att klicka på något i listan genom att använda radernas index: ComboBox1.Items.RemoveAt (2) Tar bort den tredje raden i listan (man börjar ju räkna på 0). Man kan också skriva in den text som finns i listan och som skall tas bort: ComboBox1.Items.Remove ("Banan") | |
![]() | ![]() |
![]() | |
© SupportData.Net |