使用带有多个单选按钮的if语句来计算visual basic中的总和

时间:2014-02-16 20:44:52

标签: vb.net

我正在使用Visual Basic 2010并尝试使用单选按钮计算十进制数量。

第一个单选按钮是声明的常量,表示服务的成本。

第二组单选按钮用于折扣金额。

我遇到的问题是返回的值,无论选择什么折扣按钮,都是第一个if语句的值。

我觉得我应该使用案例陈述,不幸的是,我使用的书对案例陈述含糊不清。

感谢您抽出宝贵时间阅读我的问题。

If MakeoverRadioButton1.Checked + Discount10RadioButton5.Checked Then
    CostSelectedService1 = Makeover_Decimal - (Makeover_Decimal * 0.1)
    AmountSelectedServiceLabel3.Text = CostSelectedService1.ToString("C")
ElseIf MakeoverRadioButton1.Checked + Discount20RadioButton6.Checked Then
    CostSelectedService2 = Makeover_Decimal - (Makeover_Decimal * 0.2)
    AmountSelectedServiceLabel3.Text = CostSelectedService2.ToString("C")
ElseIf MakeoverRadioButton1.Checked + NoDiscountRadioButton7.Checked Then
    CostSelectedService = Makeover_Decimal
    AmountSelectedServiceLabel3.Text = CostSelectedService.ToString("C")
End If

2 个答案:

答案 0 :(得分:2)

你可能意味着这个:

If MakeoverRadioButton1.Checked AndAlso Discount10RadioButton5.Checked Then

作为旁注,似乎您的成本和折扣彼此无关。在这种情况下,您应该可以使用两个单独的If...ElseIfSelect Case来剪切它。否则,您正在寻找 n * m If语句,这很难维护。

如果您需要更具体的建议和代码示例,请详细说明您目前拥有哪些单选按钮以及它应该如何工作(包括屏幕截图)。

答案 1 :(得分:0)

简化为:

' the default
CostSelectedService = Makeover_Decimal
AmountSelectedServiceLabel3.Text = CostSelectedService.ToString("C")

If MakeoverRadioButton1.Checked AndAlso Discount10RadioButton5.Checked Then
   CostSelectedService1 -= (Makeover_Decimal * 0.1)

ElseIf MakeoverRadioButton1.Checked AndAlso Discount20RadioButton6.Checked Then
   CostSelectedService2 -= (Makeover_Decimal * 0.2)

End If