0

我在使用 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

感谢您的任何帮助。

4

2 回答 2

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
于 2013-02-24T05:58:21.557 回答
-1

使用变量,不要在 if 语句中使用 AND 运算符... ADN 运算符用于 IF 条件,例如 if a<20 and a>10 then ..try try unt

于 2013-02-24T08:15:01.560 回答