VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了VB.net中使文本框的输入控制大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

来源:CSDN作者:Adi_liu发布时间:2007-9-6

编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:

首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。然后对文本框的KeyPress事件添加以下代码
Private Sub TEXTBox1_KeyPress(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress
If Char.IsDigit(e.KeyChar) Or e.KeyChar = chr(8) Then
e.Handled = false
Else
e.Handled = True
End If
End Sub
其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化了。从以上程序中不难看出,此时文本框只能接受数字和退格键,也就是说这个文本框是用来输入整数的。

如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次,此时可以将上面的函数改为下面的格式:
Private Sub TEXTBox1_KeyPress(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress
If Char.IsDigit(e.KeyChar) or e.KeyChar = chr(8) or e.KeyChar = "." Then
If e.KeyChar = "." And instr(TextBox1.Text,".") > 0 Then
e.Handled = True
Else
e.Handled = false
End If
Else
e.Handled = True
End If
End Sub
其中函数instr返回指定字符在字符串中的位置,当字符串中不含此字符时,返回一个负数。这时文本框可以用来输入正整数及小数。

如果文本需要输入负数的话,就要能够输入负号"-",而且只能是文本框输入的第一个字符,此时又可以将上面的函数改为下面的格式:
Private Sub TEXTBox1_KeyPress(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress
If Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = chr(8) Then
If e.KeyChar = "." And instr(TextBox1.Text,".") > 0 Then
e.Handled = True
Else
e.Handled = false
End If
ElseIf e.KeyChar = "-" And TextBox1.Text = "" Then
e.Handled = false
Else
e.Handled = True
End If
End Sub
这时文本框可以用来输入正的或负的整数及小数。

当有多个文本框需要做输入限制时,可以在以上代码Handles后面加上多个文本框的KeyPress事件,各事件之间用逗号隔开,例如Private Sub TEXTBox1_KeyPress(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress,Textbox2.KeyPress,Textbox3.KeyPress对于要判断文本框内容的函数,就要把代码进行修改,使其能够同时处理多个文本框,也就是把上面后两段程序中的TextBox1.Text改为CType(sender,TextBoX).Text,这样一来就能够对号入座了,比如上面能够输入负号的代码就可以改成:Private Sub TEXTBox1_KeyPress(ByVal sender As Object,Textbox3.KeyPressIf Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = chr(8) ThenIf e.KeyChar = "." And instr(CType(sender,TextBoX).Text,".") > 0 Thene.Handled = TrueElsee.Handled = falseEnd IfElseIf e.KeyChar = "-" And CType(sender,TextBoX).Text = "" Thene.Handled = falseElsee.Handled = TrueEnd IfEnd Sub这样一来四个文本框就都只能输入正的或负的整数及小数了。

大佬总结

以上是大佬教程为你收集整理的VB.net中使文本框的输入控制全部内容,希望文章能够帮你解决VB.net中使文本框的输入控制所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。