请各位大侠帮忙。谢谢

解决方案 »

  1.   

    Private Sub Text1_KeyPress(KeyAscii As Integer)
        Select Case KeyAscii
               '可以输入的方这里
               Case Asc("0") To Asc("9")
               
               Case Else
                    KeyAscii = 0
        End Select
    End Sub
      

  2.   

    我是这样写的:
    Private Sub Text3_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
               '可以输入的方这里
               Case Asc("0") To Asc("9")
               Text3.Text = Text3.Text & Chr(KeyAscii)
               Case Else
                    KeyAscii = 0
        End Select
    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 = IntValEnd Function
      

  4.   


    '最简单有效的方法:Private Sub Text3_KeyPress(KeyAscii As Integer)
      Select Case KeyAscii
        Case 48 To 57  '0-9的 Ascii码
        Case Else
          KeyAscii = 0
      End Select
    End Sub'给分吧。
      

  5.   

    要限制ctrl+v,在text鼠标右击会弹出菜单的,看我的:
    Dim savetext As String
    Dim saveselstart As Long
    Private Sub Text2_Change()
    Static nestedcall As Boolean
    If nestedcall Then Exit Sub
    If IsNumeric(Text2.Text) Then'这里写你的限定形式 
        savetext = Text2.Text
        saveselstart = Text2.SelStart
    Else
        nestedcall = True
        Text2.Text = savetext
        nestedcall = False
        Text2.SelStart = saveselstart
    End If
    End SubPrivate Sub Text2_GotFocus()
        savetext = Text2.Text
        saveselstart = Text2.SelStart
    End SubPrivate Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
        saveselstart = Text2.SelStart
    End SubPrivate Sub Text2_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
        saveselstart = Text2.SelStart
    End SubPrivate Sub Text2_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
        saveselstart = Text2.SelStart
    End Sub
      

  6.   

    '最简单有效的方法:(若还需要其他的0-9以外的码也不受限制,可以在 “'Case 其他码
    ”处添上就可以了。附:参考资料。)Private Sub Text3_KeyPress(KeyAscii As Integer)
      Select Case KeyAscii
        Case 48 To 57  '0-9的 Ascii码
        'Case 其他码
        Case Else
          KeyAscii = 0
      End Select
    End Sub'给分吧。
    常数 值 描述 
    vbKeyLButton 1 鼠标左键 
    vbKeyRButton 2 鼠标右键 
    vbKeyCancel 3 CANCEL 键 
    vbKeyMButton 4 鼠标中键 
    vbKeyBack 8 BACKSPACE 键 
    vbKeyTab 9 TAB 键 
    vbKeyClear 12 CLEAR 键 
    vbKeyReturn 13 ENTER 键 
    vbKeyShift 16 SHIFT 键 
    vbKeyControl 17 CTRL 键 
    vbKeyMenu 18 菜单键 
    vbKeyPause 19 PAUSE 键 
    vbKeyCapital 20 CAPS LOCK 键 
    vbKeyEscape 27 ESC 键 
    vbKeySpace 32 SPACEBAR 键 
    vbKeyPageUp 33 PAGEUP 键 
    vbKeyPageDown 34 PAGEDOWN 键 
    vbKeyEnd 35 END 键 
    vbKeyHome 36 HOME 键 
    vbKeyLeft 37 LEFT ARROW 键 
    vbKeyUp 38 UP ARROW 键 
    vbKeyRight 39 RIGHT ARROW 键 
    vbKeyDown 40 DOWN ARROW 键 
    vbKeySelect 41 SELECT 键 
    vbKeyPrint 42 PRINT SCREEN 键 
    vbKeyExecute 43 EXECUTE 键 
    vbKeySnapshot 44 SNAP SHOT 键 
    vbKeyInser 45 INS 键 
    vbKeyDelete 46 DEL 键 
    vbKeyHelp 47 HELP 键 
    vbKeyNumlock 144 NUM LOCK 键 
    A 键到 Z 键与其 ASCII 码的相应值'A' 到 'Z' 是一致的
    常数 值 描述 
    vbKeyA 65 A 键 
    vbKeyB 66 B 键 
    vbKeyC 67 C 键 
    vbKeyD 68 D 键 
    vbKeyE 69 E 键 
    vbKeyF 70 F 键 
    vbKeyG 71 G 键 
    vbKeyH 72 H 键 
    vbKeyI 73 I 键 
    vbKeyJ 74 J 键 
    vbKeyK 75 K 键 
    vbKeyL 76 L 键 
    vbKeyM 77 M 键 
    vbKeyN 78 N 键 
    vbKeyO 79 O 键 
    vbKeyP 80 P 键 
    vbKeyQ 81 Q 键 
    vbKeyR 82 R 键 
    vbKeyS 83 S 键 
    vbKeyT 84 T 键 
    vbKeyU 85 U 键 
    vbKeyV 86 V 键 
    vbKeyW 87 W 键 
    vbKeyX 88 X 键 
    vbKeyY 89 Y 键 
    vbKeyZ 90 Z 键 
    0 键到 9 键与其 ASCII 码的相应值 '0' 到 '9' 是一致的
    常数 值 描述 
    vbKey0 48 0 键 
    vbKey1 49 1 键 
    vbKey2 50 2 键 
    vbKey3 51 3 键 
    vbKey4 52 4 键 
    vbKey5 53 5 键 
    vbKey6 54 6 键 
    vbKey7 55 7 键 
    vbKey8 56 8 键 
    vbKey9 57 9 键 
    数字小键盘上的键
    常数 值 描述 
    vbKeyNumpad0 96 0 键 
    vbKeyNumpad1 97 1 键 
    vbKeyNumpad2 98 2 键 
    vbKeyNumpad3 99 3 键 
    vbKeyNumpad4 100 4 键 
    vbKeyNumpad5 101 5 键 
    vbKeyNumpad6 102 6 键 
    vbKeyNumpad7 103 7 键 
    vbKeyNumpad8 104 8 键 
    vbKeyNumpad9 105 9 键 
    vbKeyMultiply 106 乘号 (*) 键 
    vbKeyAdd 107 加号 (+) 键 
    vbKeySeparator 108 ENTER 键(在数字小键盘上) 
    vbKeySubtract 109 减号 (-) 键 
    vbKeyDecimal 110 小数点 (.) 键 
    vbKeyDivide 111 除号 (/) 键 
    功能键
    常数 值 描述 
    vbKeyF1 112 F1 键 
    vbKeyF2 113 F2 键 
    vbKeyF3 114 F3 键 
    vbKeyF4 115 F4 键 
    vbKeyF5 116 F5 键 
    vbKeyF6 117 F6 键 
    vbKeyF7 118 F7 键 
    vbKeyF8 119 F8 键 
    vbKeyF9 120 F9 键 
    vbKeyF10 121 F10 键 
    vbKeyF11 122 F11 键 
    vbKeyF12 123 F12 键 
    vbKeyF13 124 F13 键 
    vbKeyF14 125 F14 键 
    vbKeyF15 126 F15 键 
    vbKeyF16 127 F16 键 
    一并感谢wangluonanhai(网络男孩)
      

  7.   

    Text3.Text = Text3.Text & Chr(KeyAscii)这段代码不用加,我的意思是可输入的放到case语句中就可以了。
      

  8.   

    捕获tab键很难的,首先要设定其他的控件都不能获得焦点,才可以捕获:)
    打比方只有两个text控件,想要在text1中捕获tab键,则text2的tabstop设置为false
    private sub text1_keypress(keyascii as integer)
    if keyascii=vbkeytab then
    msgbox "tab"
    end if
    end sub