首页 > 解决方案 > 我如何将一个文本框的数量与另一个文本框 VB.NET 相加

问题描述

我有两个文本框TextBox1TextBox2. 我想添加TextBox2金额TextBox1。我使用了下面的,但答案不正确。

Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
    TextBox1.Text = Val(TextBox2.Text) + Val(TextBox1.Text)
    TextBox2.Text = (FormatNumber(TextBox2.Text))
End Sub

标签: vb.nettextbox

解决方案


你的问题是你把代码放在哪里。每次文本更改时它都会运行。

因此,当您在 中输入 2 时,TextBox2它会将 2 添加到 200 中TextBox1。现在TextBox1是202。

在 中输入 0 TextBox2TextBox2现在是 20。代码运行并且 20 +202 = 222,新值在TextBox1.

最后输入 0。其中的值为TextBox1222 + 200 = 422

如果您在代码中设置断点并逐行执行,您可能会看到这种情况。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim TB1Integer As Integer
    Dim TB2Integer As Integer
    If Integer.TryParse(TextBox1.Text, TB1Integer) AndAlso Integer.TryParse(TextBox2.Text, TB2Integer) Then
        TextBox1.Text = CStr(TB1Integer + TB2Integer)
    Else
        MessageBox.Show("Please enter a number in both boxes.")
    End If
End Sub

我曾经Integer.TryParse验证 TextBox 条目。它比 VB6 中的旧 Val 可靠得多。.TryParse返回一个布尔值,因此可以在 If 语句中使用。如果成功,它还会用数值填充第二个参数。


推荐阅读