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