vb.net 文本框强制输入半角。

问题描述

编了个小程序,数据员输入时有时输入为全角,有时半角,汇总时老是出错。怎么能强制输入时为半角。谢谢大家。本人菜鸟。望解答。

解决方案

解决方案二:
IME设置为Off
解决方案三:
ime-mode=disabled
解决方案四:
#Region"全角半角转换"'''<summary>'''转全角的函数(SBCcase)'''</summary>'''<paramname="input">任意字符串</param>'''<returns>全角字符串</returns>'''<remarks>'''全角空格为12288,半角空格为32'''其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248'''</remarks>PublicSharedFunctionToSBC(inputAsString)AsString'半角转全角:DimcAsChar()=input.ToCharArray()ForiAsInteger=0Toc.Length-1IfAscW(c(i))=32Thenc(i)=ChrW(12288)ContinueForEndIfIfAscW(c(i))<127Thenc(i)=ChrW(AscW(c(i))+65248)EndIfNextReturnNewString(c)EndFunction'''<summary>转半角的函数(DBCcase)</summary>'''<paramname="input">任意字符串</param>'''<returns>半角字符串</returns>'''<remarks>'''全角空格为12288,半角空格为32'''其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248'''</remarks>PublicSharedFunctionToDBC(inputAsString)AsStringDimcAsChar()=input.ToCharArray()ForiAsInteger=0Toc.Length-1IfAscW(c(i))=12288Thenc(i)=ChrW(32)ContinueForEndIfIfAscW(c(i))>65280AndAlsoAscW(c(i))<65375Thenc(i)=ChrW(AscW(c(i))-65248)EndIfNextReturnNewString(c)EndFunction#EndRegion

在TextChanged时转换一下或最后保存是转换一下
解决方案五:
引用1楼wuyazhe的回复:

IME设置为Off

我来学习
解决方案六:
可以将输入控件的ImeMode属性的值修改为Disable。ImeMode属性是对当前控件得到焦点后对输入法的限制。
解决方案七:
用IMEMODE属性设置一下,就好了
解决方案八:
在TextBox的OnFocus事件里,加上ime-mode=disabled就可以了
解决方案九:
ime-mode=disabled可以屏蔽键盘输入,但是ctrl+v还是不行的。建议你如果可以在后面的其他事件(比如光标离开,按钮按下)的时候可以check的话,就允许输入,然后再其他事件里面判断如果一定要限制输入,可以用PrivateConstWM_CHARAsInteger=&H102PrivateConstWM_PASTEAsInteger=&H302PrivateConstWP_PASTEAsInteger=22ProtectedOverridesSubWndProc(ByRefmAsSystem.Windows.Forms.Message)Ifm.Msg=WM_CHARAndAlsoCInt(m.WParam)<>BACKAndAlsoCInt(m.WParam)<>WP_PASTEThen'手动输入ElseIfm.Msg=WM_PASTEThen'粘贴EndIf

然后再判断。不过这个api是不能debug的
解决方案十:
晕上面漏了一点。。。PrivateConstWM_CHARAsInteger=&H102PrivateConstWM_PASTEAsInteger=&H302PrivateConstWP_PASTEAsInteger=22ProtectedOverridesSubWndProc(ByRefmAsSystem.Windows.Forms.Message)Ifm.Msg=WM_CHARAndAlsoCInt(m.WParam)<>BACKAndAlsoCInt(m.WParam)<>WP_PASTEThen'手动输入ElseIfm.Msg=WM_PASTEThen'粘贴EndIf'执行原事件MyBase.WndProc(m)EndSub

解决方案十一:
呃,还是漏了一个常量定义PrivateConstBACKAsInteger=8
解决方案十二:
好强大呀!

时间: 2024-08-03 12:57:58

vb.net 文本框强制输入半角。的相关文章

vb 串口发送16进制-Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&amp;amp;amp;h+16进制字符串形式

问题描述 Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&h+16进制字符串形式 例如文本框里输入253chr(13)255chr(13),要求输出结果书"&HFD" "&HFF",看了好多算法,但是还是没有研究出来. 我自己做的结果如下 Private Sub Text2_KeyPress(KeyAscii As Integer) Dim tmp() As String Dim aa As String * 1 Dim rd

VB.net中使文本框只能输入数字

vb.net中使文本框只能输入数字 首先添加好文本框控件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

jquery实现文本框只能输入数字

如下是例子的部分代码(2个方法都可以) <script type="text/javascript"> $(document).ready(function() { onlyNum("test"); } //文本框只能输入数字,不能输入小数点和字母 by john function onlyNum(id){ $("#"+id).keydown(function(event) { var keyCode = event.which; i

文本框只能输入数字网页代码

 方法一.四事件组合完合可以实现文本框只能输入数字 <input type="text" onkeypress = 'return /^d$/.test(String.fromCharCode(event.keyCode))' oninput= 'this.value = this.value.replace(/D+/g, "")' onpropertychange='if(!/D+/.test(this.value)){return;};this.value

HTML 限制文本框只能输入数字

 限制文本框只能输入数字 <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> <input name=txt1 onchange="if(/D/.test(this.value)){alert('只能输入数字');this.value='';}">

js限制文本框只能输入整数或者带小数点的数字

js限制文本框只能输入整数或者带小数点的数字  如何用js限制文本框输入,只允许输入整数或带一位小数的浮点数,本文分享一例代码,有需要的朋友参考下     做表单验证的时候是否会碰到验证某个输入框内只能填写数字呢,仅允许输入整数数字或者带小数点的数字.下面这段代码也许能帮到你!通过对当前输入框定义onkeypress,onkeyup,onblur事件对表单做了充分的验证,结果还是非常靠谱的.   复制代码 代码如下: <input type="text" value="

JQuery限制文本框只能输入数字和小数点的方法

 这篇文章主要介绍了JQuery限制文本框只能输入数字和小数点的方法,大家参考使用吧   代码如下: $(function(){                  /*JQuery 限制文本框只能输入数字*/               $(".NumText").keyup(function(){                         $(this).val($(this).val().replace(/D|^0/g,''));                   }).b

js控制文本框只输入数字和小数点的方法

 这篇文章主要介绍了js控制文本框只输入数字和小数点的方法,实例分析了javascript使用正则表达式实现限制数字和小数点的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了js控制文本框只输入数字和小数点的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: function clearNoNum(obj) { obj.value = obj.value.replace(/[^d.]/g, "");//清除"数字"和".&q

js实现文本框中输入文字页面中div层同步获取文本框内容的方法

 这篇文章主要介绍了js实现文本框中输入文字页面中div层同步获取文本框内容的方法,实例分析了javascript操作dom元素的技巧,需要的朋友可以参考下     本文实例讲述了js实现文本框中输入文字页面中div层同步获取文本框内容的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x