大侠们,请教的问题是在text控件中:
1、如何限制TEXT控件中输入的是数字而不是文本?
2、如何限制TEXT控件中输入的文本中前几个是字母或字,后几个是数字呢?
请大侠们帮帮我,希望能把相关的代码写给我!!!

解决方案 »

  1.   


    http://blog.csdn.net/tanaya/archive/2004/07/13/40334.aspxVB中使用文本框技巧两则 1.如何限制文本框只能输入数字键?...自己看去
      

  2.   

    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
     Dim ctrldown
       ctrldown = (Shift And vbCtrlMask) > 0
     
     If (KeyCode >= 65 And KeyCode <= 90) Or (KeyCode >= 48 And KeyCode <= 57) Or ctrldown Or KeyCode = vbKeySpace Or KeyCode = vbKeyLeft Or KeyCode = vbKeyRight Or KeyCode = vbKeyBack Or KeyCode = vbKeyReturn Then Else
      MsgBox "请输入字符或数字!", vbInformation, "出错"
     End If
    End Sub
    基本满足你的要求,但对ctrl+v来的汉字没判断,自己可以添加
    还有判断第几次输入是字符还是数字可以自己写,还是判断KeyCode的范围
      

  3.   

    第一个还是可以用代码来判断,第二个建议你使用MaskEditBox,在“工程”--“引用”里选择“Microsoft Masked Edit Control x.x”就行了
      

  4.   

    第一个问题用代码控制就可以:
    Public Function Digit_Only(KeyAscii As Integer) As Integer
        Select Case KeyAscii
            Case vbKey0 To vbKey9, vbKeyBack, vbKeyTab, vbKeyReturn
                 Digit_Only = KeyAscii
        End Select
    End FunctionPrivate Sub Text1_KeyPress(KeyAscii As Integer)
        KeyAscii = Digit_Only(KeyAscii)
    End Sub第 2 个问题用 MaskEditBox 比较省事。
    MaskedEdit1.Mask = "???####" '3 个字母 4 个数字