Control UpDown

Txarlie
19 de Febrero del 2004
Necesito que el control UpDown de mi formulario incremente o decremente en 0,5 el valor del textbox al cual está asociado. Es decir, que la secuencia sea 0, 0'5, 1, 1'5, 2, 2'5...

La propiedad Increment del control UpDown solo puede ser entera, pero yo necesito que tenga decimales. ¿Como lo hago?

Gracias de antemano por la ayuda

Txarlie
19 de Febrero del 2004
Me respondo yo mismo, por si a alguien algún día le interesa esto.

Para hacer que se incremente un Text en la fracción que deseemos no se debe vincular o sincronizar el control UpDown con el control Text (Buddy), ya que la propiedad Increment solo deja usar valores enteros.

Lo único que hay que hacer es gestionar los siguientes eventos (dos para el UpDown y uno para el Text):

Private Sub UpDown1_DownClick()
Text1.Text = Text1.Text - 0.5
End Sub

Private Sub UpDown1_UpClick()
Text1.Text = Text1.Text + 0.5
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then 'tecla de Cursor abajo
UpDown1_DownClick
ElseIf KeyCode = 38 Then 'tecla de Cursor arriba
UpDown1_UpClick
End If
End Sub

Un saludo al que me lea.