| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1746 人关注过本帖
标题:今天发现一个问题,文本框限制输入后的问题不知道怎么弄了。大侠帮看看
取消只看楼主 加入收藏
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
结帖率:88.24%
收藏
已结贴  问题点数:20 回复次数:2 
今天发现一个问题,文本框限制输入后的问题不知道怎么弄了。大侠帮看看
Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer)
Const xStr As String = ".0123456789" '把允许输入的内容赋值,引号里的是允许输入的内容
KeyAscii = IIf(InStr(xStr & Chr(8), Chr(KeyAscii)), KeyAscii, 0)
End Sub
用上面的可以做到只允许输入数字和小数点,
问题2点:
1、怎么防止第一位输入的是小数点?
2、怎么防止输入了2个小数点?
另一个问题是:
    怎么禁止输入负数,实际也和第一个问题差不多。
这些分别要用在哪个事件中比较合适。
搜索更多相关主题的帖子: 今天 限制 小数点 文本框 输入 
2020-02-19 10:33
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
收藏
得分:0 
回复 2楼 wufuzhang
你的方法不是我需要的,我自己也弄了一个供大家参考:
我的文本框里只允许了输入(0123456789.),第一个字符不允许为小数点,数据中不允许有第二个小数点。
Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer)
If Text2(Index).Text = "" Then '--没有数据
   'If KeyAscii = 45 Then KeyAscii = 0 '------加入这一句可以避免第一个字符输入负号,一次类推
    If KeyAscii = 46 Then KeyAscii = KeyAscii + 2 '--没有数据情况下按下了小数点,那么把小数点改为数字0
Else
   If InStr(Text2(Index), ".") > 0 Then '判断有小数点
      If KeyAscii = 46 Then KeyAscii = 0 '----如果已经有小数点了,按键设为空
   End If
End If
'==========下面是允许输入的字符
Const xStr As String = ".0123456789" '先声明一个常量,并把允许输入的内容赋值给它
KeyAscii = IIf(InStr(xStr & Chr(8), Chr(KeyAscii)), KeyAscii, 0)
End Sub

学习--------------学习-------------------学习--------------------!!
2020-02-21 14:53
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
收藏
得分:0 
回复 4楼 wmf2014
这个比我自己研究的简洁好多了,我虽然也简化了点,但是相差还是太多。现在在研究怎么将:0000.0前面的0整合起来..

[此贴子已经被作者于2020-3-2 14:30编辑过]


学习--------------学习-------------------学习--------------------!!
2020-03-02 14:28
快速回复:今天发现一个问题,文本框限制输入后的问题不知道怎么弄了。大侠帮看看 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011333 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved