VB 2010单选按钮成本计算表单

时间:2013-02-24 01:35:00

标签: vb.net radio-button

我正在使用VB 2010遇到一个问题 - 我试图根据3个单选按钮中的1个选择来计算地毯的成本。

我在表格的顶部有这个:

Private CarpetPrice, UnderlayPrice As Decimal

这是我点击按钮的代码

Private Sub CostButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CostButton.Click
    ' Calculate button click
    ' Radio Button IF Statement for calculating cost
    If EconomyRadioButton.Checked Then
        UnderlayPrice = 3.95 And CarpetPrice = 12.95
    ElseIf DeluxeRadioButton.Checked Then
        UnderlayPrice = 4.95 And CarpetPrice = 15.49
    ElseIf PlushRadioButton.Checked Then
        UnderlayPrice = 5.95 And CarpetPrice = 19.95
    End If
    ' Start Calculations
    CarpetNumLabel.Text = (((Length1TextBox.Text * Width1TextBox.Text) / 1296) + ((Length2TextBox.Text * Width2TextBox.Text) / 1296) + _
        ((Length3TextBox.Text * Width3TextBox.Text) / 1296) + ((HallLengthTextBox.Text * HallWidthTextBox.Text) / 1296)) * 1.05
    UnderlayNumLabel.Text = CarpetNumLabel.Text
    TackNumLabel.Text = ((Length1TextBox.Text / 96) + (Width1TextBox.Text / 96) + (Length2TextBox.Text / 96) + (Width2TextBox.Text / 96) _
        + (Length3TextBox.Text / 96) + (Width3TextBox.Text / 96) + (HallLengthTextBox.Text / 96) + (HallWidthTextBox.Text / 96)) * 1.1
    ScrewNumLabel.Text = ((TackNumLabel.Text / 1.1) * 8) / 50
    CarpetCostLabel.Text = CarpetNumLabel.Text * CarpetPrice
    UnderlayCostLabel.Text = UnderlayNumLabel.Text * UnderlayPrice
    TackCostLabel.Text = TackNumLabel.Text
    ScrewCostLabel.Text = ScrewNumLabel.Text * 2.85

End Sub

现在一切都很完美,除了地毯和衬垫不计算价格。单击按钮时,是否必须执行其他操作才能使程序识别单选按钮的状态? -

我认为我的问题出在:

CarpetCostLabel.Text = CarpetNumLabel.Text * CarpetPrice
UnderlayCostLabel.Text = UnderlayNumLabel.Text * UnderlayPrice

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您不能使用AND将两个不同的分配串在一起。你的IF块应该是

If EconomyRadioButton.Checked Then
    UnderlayPrice = 3.95
    CarpetPrice = 12.95
ElseIf DeluxeRadioButton.Checked Then
    UnderlayPrice = 4.95
    CarpetPrice = 15.49
ElseIf PlushRadioButton.Checked Then
    UnderlayPrice = 5.95
    CarpetPrice = 19.95
End If

答案 1 :(得分:-1)

使用变量,不要在if语句中使用AND运算符... ADN运算符用于IF条件,如同< 20和a> 10然后..try尝试