應該怎樣改良 ...................(編號:5376)

小弟寫了這event, 用來控制用家輸入金額﹐
1. control code ignore
2. 點數不可以超過一個
3. 負數符號只可以在第一個位置
現在全部都能達到目的﹐但在edit的時候﹐
他不容許我輸入負數符號在前面﹐因為
Len(Trim(Text2.Text)) 不是 0
應該怎樣改良呢 ﹖
謝謝 ﹗
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim keystring As String
keystring = "0123456789.-"
If KeyAscii > 26 Then
Select Case KeyAscii
    Case Asc(".")
      If UBound(Split(Text2.Text, Chr(KeyAscii))) > 0 Then
        KeyAscii = 0
        Beep
      End If
    Case Asc("-")
       If Len(Trim(Text2.Text)) <> 0 Then
        KeyAscii = 0
        Beep
       End If
    Case Else
       If InStr(keystring, Chr(KeyAscii)) = 0 Then
        KeyAscii = 0
        Beep
       End If
   End Select
End If
End Sub