控制文本框只能输入数字的问题?

yuxingchan 2004-08-07 08:32:24
查了一下以前的回答,正则表达式是比较好的!但不会用,请问如何使用.


为什么没有一个属性直接设置一下呢?我看许多朋友是用程序来判断,那样的话如果我的程序窗口内有40个文本框企不是太麻烦了!
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxingchan 2004-08-16
  • 打赏
  • 举报
回复
我觉的二楼的方法比较好,可是说的不是很清楚,我正在实验
yungboy 2004-08-10
  • 打赏
  • 举报
回复
js写:

function isinteger(string ,sign)
{
var integer;
if ((sign!=null) && (sign!='-') && (sign!='+'))
{
alert('IsInter(string,sign)的参数出错:\nsign为null或"-"或"+"');
return false;
}
integer = parseInt(string);
if (isNaN(integer))
{
return false;
}
else if (integer.toString().length==string.length)
{
if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0))
{
return true;
}
else
return false;
}
else
return false;
}
MMCHY 2004-08-08
  • 打赏
  • 举报
回复
用验证控件呀,让他的值只在那一歌范围内就可以了
wing0 2004-08-08
  • 打赏
  • 举报
回复
mark
leeyeefeng2004 2004-08-08
  • 打赏
  • 举报
回复
同意三楼兄弟~~
ekinwt 2004-08-07
  • 打赏
  • 举报
回复
第一种方法:
Private Sub Textbox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'使Textbox只能输入数字
Select Case e.KeyChar
Case "0" To "9"
Case "" '加入退格符
Case Else
e.Handled = True '使输入无效的语句
End Select
End Sub

第二种方法:
Private Sub Txtid_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtid.KeyPress
Dim MidStr As String
MidStr = "0123456789"
If MidStr.IndexOf(e.KeyChar) = -1 Then
e.Handled = True
End If
End Sub

其中""为退格符。

这种在中文输入法状态下无效...
yuxingchan 2004-08-07
  • 打赏
  • 举报
回复
能否说详细些,派生出类后如何使用啊,我再加20分
Jesee2003 2004-08-07
  • 打赏
  • 举报
回复
简单的数字检测,没必要使用正则表达式。只需在KeyPress事件中检测输入的字符是否为数字,如果不是数字,将e.Cancel属性设为false,则输入的字符不会显示出来。

你可以从TextBox类派生一个新的类,然后如果需要检测数字的话使用此派生类即可

16,556

社区成员

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

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