Problema con Control TextBox ampliado (el punto del teclado númerico)

22/06/2006 - 11:36 por David Sans | Informe spam
Hola grupo.
Estoy creando un control TextBox ampliado para controlar números y tengo el siguiente problema, quiero controlar que al pulsar en
el teclado numérico el punto lo substituya por el símbolo decimal. Utilizo VB .NET 2005

Para seleccionar el símbolo decimal uso :

Dim SimboloDecimal as char = CType(System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator, Char)


Con esto detecto la pulsación de la tecla decimal del teclado numérico.
'-
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
MyBase.OnKeyDown(e)
If e.KeyData = Keys.Decimal Then
' Aquí tengo que cambiar el simbolo decimal por el caracter SIMBOLODECIMAL
End If
End Sub
'-


Con el siguiente código también detecto la pulsación
'-
Protected Overrides Sub WndProc(ByRef m As Message)
Const WM_CHAR As Integer = 258
If m.Msg = WM_CHAR Then
If m.LParam = New System.IntPtr(5439489) And m.WParam = New System.IntPtr(46) Then

' Aquí tengo que cambiar el simbolo decimal por el caracter SIMBOLODECIMAL

End If
MyBase.WndProc(m)
Else
MyBase.WndProc(m)
End If
End Sub
'-

Pero no se como cambiar el símbolo cuando detecto la pulsación.

Muchas gracias.
David Sans
 

Leer las respuestas

#1 Carlos Gómez
22/06/2006 - 19:54 | Informe spam
'Con esto evitas que escriba el caracter tecleado
e.Handled = True

'Y ahora haces que envie el tuyo:
SendKeys.Send('Mi caracter')

Desde Aguadulce - España
Carlos Gomez

Preguntas similares