vb.net - 我如何将一个文本框的数量与另一个文本框 VB.NET 相加
问题描述
我有两个文本框TextBox1
和TextBox2
. 我想添加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
解决方案
你的问题是你把代码放在哪里。每次文本更改时它都会运行。
因此,当您在 中输入 2 时,TextBox2
它会将 2 添加到 200 中TextBox1
。现在TextBox1
是202。
在 中输入 0 TextBox2
。TextBox2
现在是 20。代码运行并且 20 +202 = 222,新值在TextBox1
.
最后输入 0。其中的值为TextBox1
222 + 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 语句中使用。如果成功,它还会用数值填充第二个参数。
推荐阅读
- javascript - 为什么在变量内部执行函数与直接执行函数有区别?
- azure-language-understanding - 当输入包含特殊字符时如何解决不同的意图被识别
- r - `kable()` 的输出结合文本作为字符向量和打印表
- java - Android RotateAnimation 无法按预期工作
- java - 我应该在这段代码中返回什么?
- firebase - Firebase,添加唯一 ID 和数据 - 承诺错误添加/设置不是函数
- spring - 无法启动网络关闭的启动项目
- wordpress - 我需要使用我自己的一套规则和控件来自定义 wordpress 的部署
- spring - PreparedStatementCallback; 错误的 SQL 语法 [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? 和 JOB_KEY =?
- jquery - JavaScript mouseenter 和 mouseleave 淡入淡出效果故障