以下是只能输入数字和小数点,并且小数点只能输入一次
创新互联建站服务项目包括金昌网站建设、金昌网站制作、金昌网页制作以及金昌网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,金昌网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到金昌省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
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
自己做个试验就行了:
Public Class Form1
' 在窗体上放个 Label1
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Lable1.Text = "KeyCode= " e.KeyCode.ToString vbCrLf
Lable1.Text = "KeyData= " e.KeyData.ToString vbCrLf
Lable1.Text = "KeyValue= " e.KeyValue.ToString
End Sub
End Class
运行起来,自己按键盘试试就知道了。
每个textbox都有KeyPress事件(event),每次用户输入一个字符时检测,如不满足则清空
我现在不在vs下,你可以找到这个面板,绑定相应的函数
比如只能显示数字
Private Sub NumBox_KeyPress(KeyAscii As Integer)
If Not IsNumeric(NumBox.Text) Then
NumBox.Text = ""
End If
End Sub
只能显示英语(a-z 97-122; A-Z 65-90; 8(退格)和13(换行))
Private Sub EngBox_KeyPress(KeyAscii As Integer)
If Not (KeyAscii = 97 And KeyAscii=122) Or (KeyAscii = 90 And KeyAscii=65) Or = 8 Then
EngBox.Text = ""
End If
End Sub
只能显示汉字(汉字的ASCII值要么小于0,要么是8(退格)和13(换行))
Private Sub ChineseBox_KeyPress(KeyAscii As Integer)
If Not KeyAscii 0 Or KeyAscii = 8 Or KeyAscii = 13 Then
ChineseBox.Text=""
End If
End Sub
做了一些小修改,不明白请及时追问,满意敬请采纳,O(∩_∩)O谢谢
left函数不能直接用的,如果要用得这样:microsoft.VisualBasic.Left()
mid函数可以直接用
另外还可以这样写:TextBox.Text.Substring()
()内容根据studio提示操作即可
下面的代码可以实现只能输入数字、小数点和退格键。
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(Keys.Back)
Or
e.KeyChar
=
"."
Then
e.Handled
=
False
Else
e.Handled
=
True
End
If
End
Sub
表示ASCII码为8的字符
ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。