谢谢!!!

解决方案 »

  1.   

    Private Sub Text1_KeyPress(KeyAscii As Integer)       If (KeyAscii >= 32 And KeyAscii <= 45) Or KeyAscii = 47 Or (KeyAscii >= 58 And  KeyAscii <= 126) Then
                  KeyAscii = 0
               Else
                  If InStr(1, Text1.Text, ".", vbTextCompare) > 0 And KeyAscii = 46 Then
                     KeyAscii = 0
                  End If
               End If
    End Sub
      

  2.   

    最简单的方法:
    Private Sub txtLimit_KeyPress(KeyAscii As Integer)
        Dim Numbers As String
        
        Numbers = "1234567890" + Chr(8) + Chr(46)
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub
      

  3.   

    Public Function sffunLimitNumber(ByVal IntVal As Integer) As Integer
    ''''-------------------1-------------------
    ''''目        的:只允许在文本框内输入数字、退格、删除及回车键
    ''''输        入:ByVal  IntVal  As  Integer,任意的键值
    ''''被传递值:无
    ''''返  回  值:过滤后的键值
    ''''输        出:无
    ''''注        解:
    ''''用        法:在文本框的KeyPress事件中输入KeyAscii  =  sffunLimitNumber(KeyAscii)即可
    ''''修  订  版:
    ''''-------------------1-------------------
     
     
    If (IntVal <> vbKeyDelete) _
    And (IntVal <> vbKeyBack) _
    And (IntVal <> 13) _
    And (IntVal < 48 Or IntVal > 57) Then
           IntVal = 0
    End If
    sffunLimitNumber = IntVal
     
    End Function
      

  4.   

    我以前一直用ASCII进行选数,现在发现 lilaclone(~~阿九~~) ( ) 很好很好,学学再学学