Public Class Form1
Dim TempWaarde As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ComboArray As New ArrayList
ComboArray.Add("Inch")
ComboArray.Add("Centimeter")
ComboArray.Add("Voet")
ComboArray.Add("Meter")
ComboArray.Add("Yard")
ComboArray.Add("Mijl")
ComboArray.Add("Kilometer")
For Each item In ComboArray
ComboBox1.Items.Add(item)
ComboBox2.Items.Add(item)
Next
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
Label3.Text = Bereken()
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = vbCr Then
Label3.Text = Bereken()
End If
End Sub
Private Function Bereken() As String
Select Case ComboBox1.Text 'Eerst alles berekenen naar dezelfde eenheid. (meters)
Case "Centimeter"
TempWaarde = CDbl(TextBox1.Text) / 100
Case "Inch"
TempWaarde = CDbl(TextBox1.Text) / 39.370078740157481
Case "Voet"
TempWaarde = CDbl(TextBox1.Text) / 3.2808398950131235
Case "Yard"
TempWaarde = CDbl(TextBox1.Text) / 1.0936132983377078
Case "Meter"
TempWaarde = CDbl(TextBox1.Text)
Case "Kilometer"
TempWaarde = CDbl(TextBox1.Text) * 1000
Case "Mijl"
TempWaarde = CDbl(TextBox1.Text) * 1609.344
Case Else
TempWaarde = "0.0"
End Select
Select Case ComboBox2.Text 'Dan herberekenen naar gekozen waarde.
Case "Centimeter"
TempWaarde = CDbl(TempWaarde) * 100
Case "Inch"
TempWaarde = CDbl(TempWaarde) * 39.370078740157481
Case "Voet"
TempWaarde = CDbl(TempWaarde) * 3.2808398950131235
Case "Yard"
TempWaarde = CDbl(TempWaarde) * 1.0936132983377078
Case "Meter"
TempWaarde = CDbl(TempWaarde)
Case "Kilometer"
TempWaarde = CDbl(TempWaarde) / 1000
Case "Mijl"
TempWaarde = CDbl(TempWaarde) / 1609.344
Case Else
TempWaarde = "0.0"
End Select
Return FormatNumber(TempWaarde, 2)
End Function
End Class