当前位置:编程学习 > VB >>

Textbox中的限制的问题

   在控件中分别限制字母、汉字、数字。还有,限制中文输入的又是什么??也是asc码吗?? --------------------编程问答-------------------- 我在线等,各位大虾多帮忙 --------------------编程问答--------------------
'窗体上放 3 个 CheckBox,1 个 TextBox
Option Explicit

Private Sub Form_Load()
    Check1.Caption = "字母"
    Check2.Caption = "数字"
    Check3.Caption = "汉字"
    Text1 = vbNullString
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim bIsValid As Boolean
    
    Select Case KeyAscii
        Case vbKeyA To vbKeyZ, 97 To 122 '[A-Za-z]
            bIsValid = Check1.Value
        Case vbKey0 To vbKey9 '[0-9]
            bIsValid = Check2.Value
        Case Is < 0
            bIsValid = Check3.Value
        Case Else
            
    End Select
    
    If Not bIsValid Then
        KeyAscii = 0
    End If
End Sub
--------------------编程问答-------------------- 楼上的很好很强大 --------------------编程问答-------------------- Case Is < 0
?? --------------------编程问答-------------------- 写TextBox的KeyPress事件,把不合要去的字符去掉(判断ASCII码),去掉的方法是将KetAscii=0 --------------------编程问答-------------------- 限制IMEMode吧 --------------------编程问答--------------------
引用 5 楼 veron_04 的回复:
写TextBox的KeyPress事件,把不合要去的字符去掉(判断ASCII码),去掉的方法是将KetAscii=0


根据ASCII码值进行过滤 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 用ASCII码值啊。 --------------------编程问答--------------------
引用 2 楼 tiger_zhao 的回复:
VB code
'窗体上放 3 个 CheckBox,1 个 TextBox
Option Explicit

Private Sub Form_Load()
    Check1.Caption = "字母"
    Check2.Caption = "数字"
    Check3.Caption = "汉字"
    Text1 = vbNullString
End Sub
……


正解 --------------------编程问答-------------------- If LenB(StrConv(Trim$(Text1), vbFromUnicode)) = 2 Then
    MsgBox "为汉字"
  End If
'限制汉字输入不太可能吧,不过可以用这个判断输入的是否为汉字,之与字母和数字用ASCII码判断就可以了 --------------------编程问答-------------------- Select Case KeyAscii
    Case ASC("A") To ASC("Z"), ASC("a") To ASC("z")
        bIsValid = Check1.Value
    Case ASC("0") To ASC("9")
        bIsValid = Check2.Value
    Case Is < 0 '汉字
        bIsValid = Check3.Value
    Case Else '其它字符
End Select
补充:VB ,  控件
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,