login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[VB] ComboBox, Value en Name

Offline tomie94 - 01/02/2009 12:33
Avatar van tomie94PHP interesse Hallo,

Ik heb een combobox gemaakt, en deze vul ik nu met gegevens door de volgende code:
  1. Dim i As Integer
  2. For i = 1 To 24
  3. hours.Items.Add(i)
  4. Next i


het werkt allemaal goed, ik ik zie nu in de combobox 1 t/m 24, maar ik wil graag dat de value van het item 1 uur is, en de name 1 is, zodat ik later heel snel kan kijken wat iemand heeft ingevoerd met alleen 1 getal. Kan dit in VB?

3 antwoorden

Gesponsorde links
Offline Ontani - 01/02/2009 14:10
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Je zou dit kunnen doen:

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2. Dim aHours As List(Of Hour) = New List(Of Hour)
  3. For i As Integer = 1 To 24
  4. aHours.Add(New Hour("uur " & i, i))
  5. Next
  6. hours.DataSource = aHours
  7. hours.ValueMember = "Value"
  8. hours.DisplayMember = "Name"
  9. End Sub
  10.  
  11. Private Class Hour
  12.  
  13. Private _Name As String
  14. Private _Value As Integer
  15.  
  16. Public Property Name() As String
  17. Get
  18. Return Me._Name
  19. End Get
  20. Set(ByVal value As String)
  21. Me._Name = value
  22. End Set
  23. End Property
  24.  
  25. Public Property Value() As Integer
  26. Get
  27. Return Me._Value
  28. End Get
  29. Set(ByVal value As Integer)
  30. Me._Value = value
  31. End Set
  32. End Property
  33.  
  34. Public Sub New(ByVal Name As String, ByVal Value As Integer)
  35. Me.Name = Name
  36. Me.Value = Value
  37. End Sub
  38. End Class
Offline junior - 01/02/2009 16:52
Avatar van junior Lid Je kan toch gewoon je lus aanpassen dat hij 1 uur tot 24 uur invult
Dus zo:

  1. Dim i As Integer
  2. For i = 1 To 24
  3. hours.Items.Add(i & "uur")
  4. Next i


En als je dan de keuze opvraagt doe je
  1. iKeuze = hours.SelectedIndex

(evt +1 omdat dit 0-based is)
Offline Mario - 01/02/2009 20:29
Avatar van Mario Crew algemeen Zoals Junior al zegt, neem gewoon de waarde van de selectedIndex en tel er 1 bij aangezien een combobox zijn index 0-based is.

greetzzz
RedThread

  1. Public Class Form1
  2.  
  3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4. Dim i As Integer
  5. For i = 1 To 24
  6. ComboBox1.Items.Add(i & " uur")
  7. Next i
  8. End Sub
  9.  
  10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  11. MessageBox.Show(CStr(ComboBox1.SelectedIndex + 1))
  12. End Sub
  13. End Class
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s