需要帮助使用Checkbox

时间:2011-07-11 15:31:09

标签: vb.net visual-studio-2010 checkbox vb.net-2010

我对我的基本项目有几个问题

如果我有一个复选框,当它被选中时,它会显示一个显示价格的文本框,当我取消选中它我的价格仍然在该文本框中说,我怎么能让它消失,因为我取消选中箱?

Dim total As Double
If rb_s1.Checked = True Then
    total += 650.0

txt_1.Text = total

这就是我的代码。

我有很多组合框,当我选中/取消选中它们时,如何将它们全部加起来。

3 个答案:

答案 0 :(得分:1)

我会将此功能添加到CheckBox_Changed事件处理程序中。通过这种方式,您可以判断它是unchecked还是checked并添加或减去价格中的值。

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, _
                  ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    If CheckBox1.Checked Then
        total += 650.00
    Else
        total -= 650.00
    End If

    TextBox1.Text = total.ToString()
End Sub 

答案 1 :(得分:0)

您必须使用复选框的Checked_Changed事件。

SHARED void CheckBox1_CheckedChanged(object sender, EventArgs e)
     IF ChkBx.Checked = true then
      textBox1.text = "1500"
     else
     textBox1.text = "" 
     END IF

END SUB

答案 2 :(得分:0)

要在复选框的状态发生变化时更改显示的文本,您需要处理CheckedChanged事件。在Visual Studio中,在窗体/控件的Desginer模式下,可以选中复选框控件,然后在“属性”窗口中,选择“事件”选项卡(带有小灯泡图标的选项卡),然后双击CheckChanged事件以存根在事件处理程序方法中将事件附加到处理程序。

ETA:我重读这个,我不确定我有多清楚。当我在事件处理程序中提到存根并将事件附加到处理程序时,我的意思是在设计器中双击事件的路径将为您执行此操作。

顺便说一句,听起来你希望文本只是被检查项目的总和,所以从architechtueral意义上讲,我建议创建一个单一的方法来确定总和,并让所有的复选框检查事件调用该方法而不是试图让事件处理程序方法本身做得太多(可能你已经清楚了)。

所以你可能会这样做:

Public Class Form1

    Private Sub DisplayTotal()
        Dim total As Decimal = 0

        If (CheckBox1.Checked) Then
            total += Decimal.Parse(txtItem1.Text)
        End If

        'Add other items

        txtTotal.Text = total

        End If
    End Sub

    Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
        DisplayTotal()
    End Sub

    Private Sub CheckBox2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
        DisplayTotal()
    End Sub

End Class