我对我的基本项目有几个问题
如果我有一个复选框,当它被选中时,它会显示一个显示价格的文本框,当我取消选中它我的价格仍然在该文本框中说,我怎么能让它消失,因为我取消选中箱?
Dim total As Double
If rb_s1.Checked = True Then
total += 650.0
txt_1.Text = total
这就是我的代码。
我有很多组合框,当我选中/取消选中它们时,如何将它们全部加起来。
答案 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