在控件中分别限制字母、汉字、数字。还有,限制中文输入的又是什么??也是asc码吗??

解决方案 »

  1.   

    '窗体上放 3 个 CheckBox,1 个 TextBox
    Option ExplicitPrivate Sub Form_Load()
        Check1.Caption = "字母"
        Check2.Caption = "数字"
        Check3.Caption = "汉字"
        Text1 = vbNullString
    End SubPrivate 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
      

  2.   

    写TextBox的KeyPress事件,把不合要去的字符去掉(判断ASCII码),去掉的方法是将KetAscii=0
      

  3.   

    If LenB(StrConv(Trim$(Text1), vbFromUnicode)) = 2 Then
        MsgBox "为汉字"
      End If
    '限制汉字输入不太可能吧,不过可以用这个判断输入的是否为汉字,之与字母和数字用ASCII码判断就可以了
      

  4.   

    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