vb.net控制TextBox控件只能输入数值型字符串
2010-01-06 13:04
399 查看
Module CheckTextbox '以下代码控制TextBox控件只能输入数值型字符串,具体内容如下: Public Sub CheckKeyPress(ByVal TargetTextBox As TextBox, ByVal e As System.Windows.Forms.KeyPressEventArgs, Optional ByVal Minus As Boolean = False, Optional ByVal DecimalCount As Integer = 0) Dim blnHandled As Boolean blnHandled = False Select Case Asc(e.KeyChar) Case Asc("-") ' 负号:只能在最前头 If Not (TargetTextBox.SelectionStart = 0 And Minus = True) Then blnHandled = True Case Asc(".") ' 小数点:小数位数大于0;在字符串中没有“.”,且加了“.”后小数位能满足要求 If DecimalCount <= 0 Then blnHandled = True Else If Not (InStr(TargetTextBox.Text, ".") = 0 And (Len(TargetTextBox.Text) - TargetTextBox.SelectionStart <= DecimalCount)) Then blnHandled = True End If Case 8 '退格键, Case 13 ' 回车键 SendKeys.Send("{TAB}") '转为tab键 Case Asc("0") To Asc("9") ' 0-9 If InStr(TargetTextBox.Text, ".") > 0 Then If TargetTextBox.SelectionStart > InStr(TargetTextBox.Text, ".") - 1 Then ' 当前字符位置在小数点后,则小数点后的字符数必须小于小数位 If Len(TargetTextBox.Text) - InStr(TargetTextBox.Text, ".") + 1 > DecimalCount Then blnHandled = True End If End If Case Else blnHandled = True End Select e.Handled = blnHandled End Sub '调用如下: ' Private Sub txtJE_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtJE.KeyPress ' CheckKeyPress(sender, e, False, 0) ' End Sub End Module
相关文章推荐
- vb.net控制TextBox控件只能输入数值型字符串
- vb.net控制TextBox控件只能输入数值型字符串
- 如何控制TextBox控件只能输入数值型字符串
- [VB.NET]请问题如何使用 正值表达式 来控制使用者Textbox控件输入内容?
- C#通用类实现 读取xml控制Asp.net控件输入信息长度(TextBox,FileUpload)
- VB.NET中让Textbox只能输入数字
- js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- 如何控制asp.net控件TextBox输入内容的长度--(多种方法)
- 重写的一个TextBox控件,控制只能输入小数点和数字
- 转:js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- VB.net中限制TextBox只能输入数字(小数、负数)
- VB.Net让Textbox只能输入数字的方法
- Asp.net控制TextBox只能输入数字
- Asp.net控制TextBox只能输入数字
- C#通用类实现 读取xml控制Asp.net控件输入信息长度(TextBox,FileUpload)
- ASP.NET动态生成输入页面,以及生成控件的大小控制,输入数据的验证等
- 控制TextBox只能输入数字
- Asp.net TextBox只能输入数字
- Asp.net TextBox只能输入数字