在VB提供的文本框中,增强文本(Masked Edit)可以实现对文本格式化的数据输入以及提供受限制的数据输入。
    但是该控件却无法实现右对齐,这点不符合数字的输入习惯。
    万般无奈之下,就自己编写了下面的代码,实现在文本框(TextBox)中输入数字。
    但是在测试中仍然发现存在两个问题:1. 用BackSpace按键从右到左对小数删除后,光标会移动到小数点左侧,紧靠小数点,然后用方向键移动光标到小数点右侧时,光标会重新回到小数点左侧,然后再会正常。2. 在小数输入过快时,光标无法控制。
    那位朋友如果有更好的方法,希望能够指点一二。在这里先谢过了!

解决方案 »

  1.   

    Private Sub Form_Load()
        Text1.Alignment = 1
    End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
        If KeyAscii < 48 Or KeyAscii > 57 Then
            If InStr(1, Text1, ".") = 0 Then
                If KeyAscii <> vbKeyBack And KeyAscii <> 46 Or KeyAscii = vbKeyReturn Then KeyAscii = 0
            Else
                If KeyAscii <> vbKeyBack Or KeyAscii = vbKeyReturn Then KeyAscii = 0
            End If
        End If
    End Sub