2016-05-05 10 views
0

Also ich versuche etwas zu programmieren, wo Sie schon $ 200 Dollar haben und in einer Groupbox habe ich 3 verschiedene Optionen als Checkboxen um etwas zu kaufen, auch eine Groupbox hat Radibuttons wo Sie können Wählen Sie nur 1 von 3 Optionen. Alle Einzelteile haben unterschiedliche Kosten ...Visual Basic 2010 - Mehrere Checkbox-Berechnungen mit einem festgelegten Preis

Was ich bereits getan haben: I

Dim money As Integer = 200 

Private Sub chkBoots_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkBoots.CheckedChanged 
     lblAmountOfMoney.Text = Val(money) - 20 
    End Sub 

Private Sub chkJacket_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkJacket.CheckedChanged 
     lblAmountOfMoney.Text = Val(money) - 40 
    End Sub 

Private Sub chkUmbrella_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUmbrella.CheckedChanged 
     lblAmountOfMoney.Text = Val(money) - 10 
    End Sub 

    Private Sub rdbCreditCard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbCreditCard.CheckedChanged 
     lblAmountOfMoney.Text = Val(money) - 20 
    End Sub 

Private Sub rdbDebitCard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbDebitCard.CheckedChanged 
     lblAmountOfMoney.Text = Val(money) - 20 
    End Sub 

Das Problem codiert haben, ist, dass, wenn mehr als eine Checkbox und ein Radiobutton ausgewählt wird subtrahiert nur die zugewiesenen Kosten von jedes Kontrollkästchen oder Radiobutton von $ 200, anstatt jedes Kontrollkästchen und Radiobutton Kosten von $ 200 ... subtrahiert (zum Beispiel, wenn Sie Jacke und Stiefel drücken wird nur eine dieser Kosten anstelle von beiden von 200 abziehen)

DANKE, SO VIELE HILFE IST BEREITGESTELLT !!!!

+0

Es funktioniert so, wie Sie es codiert. Wenn Sie von Money subtrahieren möchten, tun Sie dies, anstatt nur das Ergebnis * anzuzeigen, als ob * Sie abgezogen hätten. Aktivieren Sie auch Option Strict: Sie subtrahieren eine Ganzzahl von einem Double und weisen eine Zeichenfolge zu – Plutonix

+0

Sie müssen auch den Status des Kontrollkästchens überprüfen. Das CheckChanged-Ereignis wird jedes Mal ausgelöst, wenn sich der Überprüfungsstatus ändert, von aktiviert zu nicht aktiviert und von deaktiviert zu aktiviert. –

Antwort

0

gerade aktualisieren Sie gerade den Etikettentext in den Subs. Sie müssen auch die Geldvariable aktualisieren.

hinzufügen

money = money - price 

in allen Subs für was auch immer der Preis in jedem Teil sein geschieht.

0

Sie haben einen guten Job gemacht, den Preis korrekt anzuzeigen, aber vergessen, die REAL CALCULATION zu machen.

Hier ist wahrscheinlich das, was Sie wollen:

Dim money As Integer = 200 

Private Sub chkBoots_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkBoots.CheckedChanged 
    lblAmountOfMoney.Text = Val(money) - 20 
    money -= 20 
End Sub 

Private Sub chkJacket_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkJacket.CheckedChanged 
    lblAmountOfMoney.Text = Val(money) - 40 
    money -= 40 
End Sub 

Private Sub chkUmbrella_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUmbrella.CheckedChanged 
    lblAmountOfMoney.Text = Val(money) - 10 
    money -= 10 
End Sub 

Private Sub rdbCreditCard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbCreditCard.CheckedChanged 
    lblAmountOfMoney.Text = Val(money) - 20 
    money -= 20 
End Sub 

Private Sub rdbDebitCard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbDebitCard.CheckedChanged 
    lblAmountOfMoney.Text = Val(money) - 20 
    money -= 20 
End Sub