| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1299 人关注过本帖
标题:怎么限制输入?
只看楼主 加入收藏
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:8 
怎么限制输入?
文本框只能输入数字和小数,怎么写,谢谢
搜索更多相关主题的帖子: 数字 文本框 限制 小数 输入 
2023-03-27 14:12
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:10 
程序代码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 46 Then  '输入小数点
        If InStr(1, Text1.Text, ".") > 0 Then KeyAscii = 0  '只能有1个小数点
    ElseIf KeyAscii < 48 Or KeyAscii > 57 Then  '非数字字符
        KeyAscii = 0
    End If   
    
End Sub
2023-03-27 15:13
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:10 
keyascii含义:
48-57:对应0-9
   46:小数点
    8:退格
'这个代码限定可以输入数字,小数点,接收退格。适合输入IP地址信息
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 And KeyAscii <> 8 Then
        KeyAscii = 0
    End If
End Sub
2023-03-27 15:41
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
收藏
得分:0 
谢谢!!
2023-03-28 01:30
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
收藏
得分:0 
回复 3楼 wds1
有两个文本框,文本框1只能输入数字和小数,当文本框1输入数字或者小数,文本框2自动计算出结果,文本框2=文本框1 *2 ,能不能结合上面代码

[此贴子已经被作者于2023-3-28 11:50编辑过]

2023-03-28 11:28
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:0 
'键盘按下允许数字,小数点,退格
Private Sub Text1_KeyPress(KeyAscii As Integer)
  If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> 46 And KeyAscii <> 8 Then
     KeyAscii = 0
  End If
End Sub
'键盘抬起进行
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  Text2.Text = Val(Text1.Text) * 2
End Sub
2023-03-28 14:20
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
收藏
得分:0 
回复 6楼 wds1
谢谢!
2023-03-28 16:29
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
楼上的朋友们,你们的你代码都有Bug,应该这样。

只允许输入数字、小数点、退格键。只能有一个小数点,且不允许第1位为小数点:

Private Sub Text1_KeyPress(KeyAscii As Integer)
    ' 允许输入数字、小数点和退格键
    If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 46 Or KeyAscii = 8 Then
        ' 如果已经输入了小数点,则禁止再次输入
        If KeyAscii = 46 And (InStr(Text1.Text, ".") > 0 Or Len(Text1.Text) = 0) Then
            KeyAscii = 0
        End If
        ' 如果小数点在第1位,则禁止输入
        If KeyAscii = 46 And Len(Text1.Text) = 1 Then
            KeyAscii = 0
        End If
    Else
        ' 禁止输入
        KeyAscii = 0
    End If
End Sub

[此贴子已经被作者于2023-4-3 19:37编辑过]


心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2023-04-03 19:32
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
收藏
得分:0 
回复 8楼 yuma
谢谢!!
2023-04-03 21:38
快速回复:怎么限制输入?
数据加载中...
 
   



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

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