如何仅添加启用了复选框的文本框?

时间:2014-11-19 00:25:27

标签: vb.net

我正在使用复选框启用文本框,用户可以在其中输入所需项目的数量。每件商品都有不同的价格。我正在尝试为总计添加启用的文本框。我无法弄清楚如何在未启用文本框时避免错误。如何仅调用启用的文本框?这就是我所拥有的。

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    TextBox4.Text = TxtBox.Text + TxtPav.Text + TxtLawn.Text
    TextBox5.Text = 
End Sub
Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
    If CheckBox1.Checked = True Then
        TxtBox.Enabled = True
    Else
        TxtBox.Enabled = False
    End If
End Sub
Private Sub CheckBox2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox2.CheckedChanged
    If CheckBox2.Checked = True Then
        TxtPav.Enabled = True
    Else
        TxtPav.Enabled = False
    End If
End Sub
Private Sub CheckBox3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox3.CheckedChanged
    If CheckBox3.Checked = True Then
        TxtLawn.Enabled = True
    Else
        TxtLawn.Enabled = False
    End If
End Sub
End Class

Textbox5是我添加总数的地方。 Textbox4添加了要销售的商品数量。 我试过了 -

 Textbox5.text = txtbox * 75 + txtpav.text * 30 + txtLawn * 21

未启用文本框时出现错误。

1 个答案:

答案 0 :(得分:1)

声明变量并使用累积加法。然后检查每个复选框。您收到错误是因为您尝试对没有值且未启用的控件执行操作。

 Dim total as double = 0
 If checkbox1.checked then
  total += (Cdbl(txtbox.text) * 75)
 end if
 if checkbox2.checked then
  total += (Cdbl(txtpav.text) * 30)
 end if
 if checkbox3.checked then
  total += (Cdbl(txtLawn.text) * 21)
 end if
  Textbox5.text = total.ToString