0

我正在创建一个包含三个文本框的表单,其中包含“小计”、“投标金额”和“更改”框。小计和更改框都被禁用,这意味着用户只能在投标框中输入数字。我正在使用从http://www.vbdotnetheaven.com/blogs/5908/restricting-user-input-in-vb-net.aspx找到的以下代码来限制输入:

Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Not Char.IsDigit(e.KeyChar) Then
        e.Handled = True
    End If
End Sub

我担心的是,特定的编码可以限制数字的输入,但它也禁用了退格键、点和删除键。我对此很陌生(我们不到两周前才开始讨论有关 VB/Studio 的事情,我以前没有使用 Keypresses 的经验,但我想尝试一下)

我尝试if通过排除空格键的 ASCII 值来操作语句(并添加 if 语句),但最终会收到有关不兼容类型的警告。我可以在表单运行时通过双击文本输入来替换文本,但我的应用程序很可能会使用键盘,主要是因为它是一个事务应用程序,因此确实需要退格键,更重要的是点。如何排除两者都被禁用?

4

1 回答 1

0

查看 MSDN 文档中Control.KeyDown的示例,它大约是您想要的 95%。

也就是说,请注意,还有更多工作要做。如果有人进入 124.34.22 会发生什么?您可能会考虑使用MaskedTextBox,但如果这是学习 Visual Basic 的练习,那简直就是作弊 :)

于 2012-09-24T01:13:26.643 回答