0

我有几个关于我的基本项目的问题

如果我有一个复选框,并且当它被选中时,它会转到一个显示价格的文本框,当我取消选中它时,我的价格仍然在该文本框中显示,我怎样才能在取消选中该框时让它消失?

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

txt_1.Text = total

那是我的代码。

我有很多组合框,当我选中/取消选中它们时,我怎样才能让它们全部加起来。

4

3 回答 3

1

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

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 
于 2011-07-11T15:34:43.757 回答
0

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

ETA:我重新阅读了这篇文章,我不确定我有多清楚。当我提到在事件处理程序中存根并将事件附加到处理程序时,我的意思是在设计器中双击事件的路线将为您完成此操作。

顺便说一句,听起来您希望文本仅是选中项的总和,因此从架构的角度来看,我建议创建一个方法来确定总和,并让所有复选框检查事件调用该方法而不是试图让事件处理程序方法本身直接做太多事情(也许你已经很清楚了)。

所以你可能会做这样的事情:

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
于 2011-07-11T15:35:34.767 回答
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
于 2011-07-11T15:33:59.687 回答