找到的资料 但是出错
大家帮忙看看,应该怎么改?
Dim formatflg As Boolean
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If formatflg Then
formatflg = False
Exit Sub
End If
If Len(TextBox1.Text) < 4 Then
Exit Sub
End If
Dim temp As String
Dim temp2 As String
Dim leftlen As Integer
temp2 = Replace(TextBox1.Text, ",", "")
leftlen = Len(temp2) Mod 3
For i = 3 To Len(temp2) Step 3
If i = 3 Then
temp = Mid(temp2, Len(temp2) - i + 1, 3)
Else
temp = Mid(temp2, Len(temp2) - i + 1, 3) & "," & temp
End If
Next i
If leftlen <> 0 Then
temp = Left(String.Format(temp2, leftlen, 3)) & "," & temp
End If
formatflg = True
TextBox1.Text = temp
TextBox1.SelectionStart = Len(TextBox1.Text)
End Sub
------最佳解决方案--------------------
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case "0"c To "9"c, ChrW(Keys.Back), ChrW(Keys.Home), ChrW(Keys.Left), ChrW(Keys.Right)
Case Else
e.Handled = True
End Select
End Sub
Dim b As Boolean
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged