【问题标题】:How to add both radio and check buttons using visual basic 2008如何使用 Visual Basic 2008 添加单选按钮和复选按钮
【发布时间】:2023-04-01 10:34:01
【问题描述】:

我不得不使用 if/else if 语句来添加单选按钮和复选按钮,但我需要这样做,以便当一个人选择复选按钮和单选按钮时,它会加起来。

我尝试使用 if then 选择案例,但这样做时会出错。

我的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calculate.Click
    'calculate value of subtotal

    Me.Subtotal.Text = Val(Me.CarTextBox.Text)

    If Pearlized.Checked = True Then

        Me.Subtotal.Text = Val(Me.CarTextBox.Text) + 345.72

    ElseIf Customized.Checked = True Then

        Me.Subtotal.Text = Val(Me.CarTextBox.Text) + 599.99

    ElseIf Stereo.Checked = True Then

        Me.Subtotal.Text = Val(Me.CarTextBox.Text) + 425.76

    ElseIf Leather.Checked = True Then

        Me.Subtotal.Text = Val(Me.CarTextBox.Text) + 987.41

    ElseIf Comp.Checked = True Then

        Me.Subtotal.Text = Val(Me.CarTextBox.Text) + 1741.23

    End If

    'calculate tax

    Me.Total.Text = Val(Me.Subtotal.Text) * 1.08

    'calculate amount due

    Me.AmountDue.Text = Val(Me.Total.Text) - Val(TradeTextBox.Text)

End Sub

【问题讨论】:

  • 您遇到什么错误?这里的单选按钮和复选按钮是什么?

标签: vb.net


【解决方案1】:

在方法的开头设置一个小计变量。 在测试每个复选框时添加它。 最后执行计算。

我建议将珠光、自定义、立体声、税率等值保留在配置或关联的文本文件中。当它们发生变化时,它将在将来为您节省。

Private Sub calculateTotal()

    Try

        'calculate value of subtotal
        Dim subTotal As Double = CDbl(CarTextBox.Text)    

        If Pearlized.Checked = True Then
            subTotal += subTotal + 345.72
        End If

        If Customized.Checked = True Then
            subTotal += subTotal + 599.99
        End If

        If Stereo.Checked = True Then
            subTotal += subTotal + 425.76
        End If

        If Leather.Checked = True Then
            subTotal += subTotal + 987.41
        End If

        If Comp.Checked = True Then
            subTotal += subTotal + 1741.23
        End If

        'calculate tax    
        Me.SubTotal.Text = subTotal
        Me.Total.Text = subTotal * 1.08

        'calculate amount due    
        Me.AmountDue.Text = Val(Me.Total.Text) - Val(TradeTextBox.Text)

    Catch ex As Exception
        MessageBox.Show(String.Concat("An error occurred: ", ex.Message))
    End Try

End Sub

【讨论】:

  • 我建议使用Decimal 而不是Double
  • 我得到的唯一问题是只能选择珠光化或自定义的单选按钮,因此当有人选择立体声、皮革、合成等复选框按钮时,小计必须计算选定的单选按钮和选中的复选框项目一起
猜你喜欢
  • 2012-04-23
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
  • 2016-01-18
  • 1970-01-01
  • 2012-09-26
  • 2011-07-19
相关资源
最近更新 更多