正确的文本框,只允许在Visual Basic中使用数字和小数

时间:2012-09-12 17:31:36

标签: vb.net textbox decimal

我在visual basic中真的需要帮助。

我有3个文本框,允许数字和小数,代码如下:

If Not Char.IsDigit(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar)
                               AndAlso Not e.KeyChar = "." Then
    e.Handled = True
End If

但我遇到了一些问题:

  1. 我可以把“。”任何地方
  2. 当我尝试添加每个文本框时,结果很乱。例1.2 + 3 = 15
  3. 你能修复我的代码,以便进行正确的十进制计算吗?

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助

   Private Sub txtrate_TextChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtmarks.KeyPress
            If InStr(txtmarks.Text, ".") Then
                e.Handled = Not (Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar))
            Else
                e.Handled = Not ((Char.IsDigit(e.KeyChar) Or e.KeyChar = ".") Or Char.IsControl(e.KeyChar))
            End If
    End Sub