Werken met Combobox

Status
Niet open voor verdere reacties.

Arthas

Gebruiker
Lid geworden
10 feb 2007
Berichten
14
Ik heb de volgende combobox
cborelatie waarin de volgende items zitten:
Goed +10
Redelijk +5
Matig -50
Slecht -100
Onbekend 0

Er staan bepaalde waarden tegenover de items (zoals boven genoemd). Als iemand de keuze maakt uit het dropdown menu moet de waarde die bij deze keuze hoort automatisch in het label verschijnen. Dit lukt mij dus niet. Ik heb tot zover

Option Explicit
Dim Score3 As Integer

Private Sub lblscore3_Click()
lblscore3.Caption = Str(Number)
If cborelatie.Text = "Goed" Then lblscore3.Caption = "10"
If cborelatie.Text = "Redelijk" Then lblscore3.Caption = "5"
If cborelatie.Text = "Matig" Then lblscore3.Caption = "-50"
If cborelatie.Text = "Slecht" Then lblscore3.Caption = "-100"
If cborelatie.Text = "Onbekend" Then lblscore3.Caption = "0"
End Sub

Private Sub cborelatie_Change ()
'Read value and change Score3
Score3 = cborelatie.Value
Lblscore3.Caption = Str(Score3)
End Sub

Ik weet dat click event bij label niet goed is maar was de enige waarbij er in ieder geval nog iets gebeurde vandaar dat ik deze ook zo neer zet. Mag duidelijk wezen dat het zo niet werkt maar wie kan mij helpen met de juiste code

Kan iemand mij AUB helpen. Ik ben een newbe op dit gebied dus als er stomme fouten in zitten mijn excuses:o
 
Eigenlijk is de meeste efficiënte oplossing met classes werken, maar ik vrees dat dit als newbie nogal moeilijk is voor wat je wilt bereiken. Daarom zal ik 2 mogelijkheden geven die als workaround kunnen werken.

Mogelijkheid 1:

Je werkt met een dictionary. Dit is eigenlijk een soort array waarin je kan gaan opzoeken. Items in een dictionary hebben een key een een value. Je kan als key het woord ingeven (bv goed) en als value dan de waarde die je wilt toekennen. Je steekt dan de keys in de combobox (ofwel manueel ofwel voeg je ze via een lusje toe vanuit de dictionary).

Mogelijkheid 2:

Je voegt alle woorden toe in je combobox en dan maak je een array met alle overeenstemmende waarden. Dan kan je werken met de SelectedIndex van de combobox. Zorg wel dat je waarden in de array in juiste volgorde staan.

vb. Dim iValue as Integer=arrValues.Item(cboValues.SelectedIndex)

Good luck
 
volgens mij moet je het niet in een label maar in een textbox doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan