Есть код на VB, может поможет:
Код | Private Sub txtPayment_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPayment.KeyPress Call CurrencyFilter(sender, e.KeyChar) End Sub
|
Код | Public Sub CurrencyFilter(ByVal Target As Object, ByRef Key As Char) 'Функция отфильтровывающая ввод для получения формата Currency 'Обнуление ввода, если не цифра и запятая, точка, 'минус. If (AscW(Key) < 48 Or AscW(Key) > 58) And AscW(Key) <> 44 And AscW(Key) <> 46 And AscW(Key) <> 8 Then Key = CChar("")
'Замена точки на запятую If AscW(Key) = 46 Then Key = CChar(",")
'Проверка на единственность десятичного разделителя If AscW(Key) = 44 Then If InStr(Target.Text.ToString, ",", vbTextCompare) <> 0 Then Key = CChar("") End If End Sub
|
|