我正在创建一个包含三个文本框的表单,其中包含“小计”,“金额投标”和“更改”框。小计和更改框都被禁用,这意味着用户只能在投标框中输入数字。我正在使用以下从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的经验,但我想尝试一下)
我已经尝试通过排除空格键的ASCII值来操纵if
语句(以及添加if语句),但最终却出现了关于不兼容类型的警告。我可以通过在表单运行时双击文本输入来替换文本,但我的应用程序很可能主要是因为它是一个事务应用程序而使用键盘,所以退格,更重要的是点真的需要。如何排除两者被禁用?
答案 0 :(得分:0)
在MSDN文档中查看Control.KeyDown的示例,大约是您想要的95%。
那就是说,要知道,还有更多工作要做。如果有人进入124.34.22会怎么样?您可能会考虑使用MaskedTextBox,但如果这是学习Visual Basic的练习,那几乎是作弊:)