textbox怎么实现屏蔽汉字输入阿?

tttt0945 2005-02-26 06:45:48
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
'屏蔽键盘输入
e.Handled = True
End Sub

本以为可以屏蔽所有输入,但今天发现不能屏蔽汉字????
...全文
226 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cushat 2005-03-01
  • 打赏
  • 举报
回复
楼上的正则表达式是正解。
cwzeng 2005-03-01
  • 打赏
  • 举报
回复
可以用正则表达式限制输入:只限数字,字线和下划线:^\w+$
gxboy 2005-03-01
  • 打赏
  • 举报
回复
人家也一样可以用复制粘贴蛮。

你判断一下ascii值就行了。
zzzjaychung 2005-03-01
  • 打赏
  • 举报
回复
我曾经令e.Handled = False(无论输入什么字符)

但没有任何效果。

并且也就这个问题与坛子里的很多人讨论过,但至今还没有人给出答案。

可以考虑用Validated。
javana 2005-03-01
  • 打赏
  • 举报
回复
谢谢路路~!
hamadou 2005-03-01
  • 打赏
  • 举报
回复
呵呵。楼上的方法最简单!
lufier 2005-03-01
  • 打赏
  • 举报
回复
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)

e.Handled = Not Char.IsDigit(e.KeyChar)

End Sub

可以限制只能输入数字
机器人 2005-02-26
  • 打赏
  • 举报
回复
还可以用正则表达式在textbox的Validing事件中过滤
Private Sub textBox1_Validating(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) Handles textBox1.Validating

Dim numericRegex As Regex = new Regex("^\d+$")

if Not numericRegex.Match(CType(sender,TextBox).Text) Then
' Cancel the event and select the text to be corrected by the user.
e.Cancel = True
textBox1.Select(0, textBox1.Text.Length)
End If
End Sub
CMIC 2005-02-26
  • 打赏
  • 举报
回复
老问题,简单:
e.Handled=true;
this.Focus();//加上这一句,如果窗体是子窗体,把 this换成父窗体的实例。
机器人 2005-02-26
  • 打赏
  • 举报
回复
首先,控制输入法,ImeMode属性设置为Disable.这样用户就无法切换到中文输入了。
然后再在KeyPress事件过滤非数字输入。
捏造的信仰 2005-02-26
  • 打赏
  • 举报
回复
那就用textChanged事件。
tttt0945 2005-02-26
  • 打赏
  • 举报
回复
to fangxinggood:
这倒是可行,但是如果我想只输入数字的话,就不能设置为readonly了
to sj_breezerain:
目的是防止输入格式不对啊
sj_breezerain 2005-02-26
  • 打赏
  • 举报
回复
屏蔽键盘输入是什么目的阿???
机器人 2005-02-26
  • 打赏
  • 举报
回复
你把这个textbox键盘输入都屏蔽了,还不如把这个textbox设成ReadOnly

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧