我正在使用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
感谢您的帮助。
答案 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尝试