Ik heb twee problemen:
- Het verwijderen van items gaat door, zelfs als de lijst leeg is. Hoe voorkom ik dit?
- Hoe zorg ik ervoor dat de prijzen veranderen als je op incl. BTW klikt of excl. BTW?
Code:
Public Class Boodschappenlijst
' Gegevens
Dim artikel As Integer
Dim aantal As Integer
Dim prijs As Double
Dim totaalbedrag As Double = 0
Private Sub Boodschappenlijst_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Artikelen invoeren
cbArtikel.Items.Insert(0, "Hagelslag")
cbArtikel.SelectedItem = "Hagelslag"
cbArtikel.Items.Insert(1, "Pindakaas")
cbArtikel.Items.Insert(2, "Jam")
cbArtikel.Items.Insert(3, "Zalmsalade")
cbAantal.Items.Insert(0, "1")
cbAantal.SelectedItem = "1"
cbAantal.Items.Insert(1, "2")
cbAantal.Items.Insert(2, "3")
cbAantal.Items.Insert(3, "4")
cbAantal.Items.Insert(4, "5")
' Bullet alvast aanvinken
rbtnInBTW.Checked = True
' Prijs toekennen aan artikelen
If rbtnInBTW.Checked = True Then
If cbArtikel.SelectedItem = "Hagelslag" Then
prijs = 1.75
ElseIf cbArtikel.SelectedItem = "Pindakaas" Then
prijs = 2.32
ElseIf cbArtikel.SelectedItem = "Jam" Then
prijs = 1.62
ElseIf cbArtikel.SelectedItem = "Zalmsalade" Then
prijs = 3.12
End If
Else
If cbArtikel.SelectedItem = "Hagelslag" Then
prijs = 1.47
ElseIf cbArtikel.SelectedItem = "Pindakaas" Then
prijs = 1.95
ElseIf cbArtikel.SelectedItem = "Jam" Then
prijs = 1.36
ElseIf cbArtikel.SelectedItem = "Zalmsalade" Then
prijs = 2.62
End If
End If
End Sub
Private Sub btnToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToevoegen.Click
' Artikelen en prijs toevoegen aan listbox
lstBoodschappen.Items.Add(cbAantal.SelectedItem & " " & cbArtikel.SelectedItem & " € " & cbAantal.SelectedItem * prijs)
totaalbedrag = totaalbedrag + cbAantal.SelectedItem * prijs
txtTotaalbedrag.Text = "€ " & totaalbedrag
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click
' Artikelen en prijs verwijderen van listbox
lstBoodschappen.Items.Remove(lstBoodschappen.SelectedItem)
totaalbedrag = totaalbedrag - cbAantal.SelectedItem * prijs
txtTotaalbedrag.Text = "€ " & totaalbedrag
End Sub
End Class