[你要一行?]关于限制VB6的TextBox控件只输入一个数字的解决办法
一点很小的见解。有些时候我们都需要让用户只输入一个简单的数字。而VB的TextBox控件也比较灵活。
无论是数字字母还是中文都可以接受。所以这个时候我们就需要一点手段来限制TB的输入了。
但是在百度上面的查找结果(呃,我在本论坛也看到这个结果了)大多是keypress事件之类的,还要配合ascii码,这个办法稍显麻烦。
而且很多VB见习者并不知道ascii为何物。更重要的是,通过快捷键复制的方式可以轻松绕过这个限制。
没错,可以再写个textchange事件,甚至你还可以通过在程序内禁用复制粘贴来实现限制。但是这样已经违背程序设计的初衷了。
下面给出一个限制TextBox输入的办法:
主要思想是还是通过change()事件 + if判断的办法。
可以轻松免疫 Ctrl+V了。
程序代码:
Private Sub Text1_Change() a = Text1.Text If Len(a) > 1 Or a < 0 Or a > 9 Then Text1.Text = "" End If End Sub
嘛,既然版主要求只要一行代码那我就给出来我的这种吧。
Text1.Text = IIf(Len(a) > 1 Or a > 9 Or a < 0, "", Text1.Text)
[此贴子已经被作者于2016-2-13 14:40编辑过]