Keypress en todo el tiempo de ejecucion del formulario

Iniciado por Sandstorm, 28 Mayo 2008, 21:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Sandstorm

Hola

Me preguntaba como puedo hacer para que un keypress valga para todo el formulario mientras se este ejecutando. Me explico.

Tienes varios Textbox limitados a numeros, entonces debes indicar la operacion entre esos numeros (en ejecucion). Para ello debes pulsar una tecla equivalente a una operacion matematica +,-,*,/ el codigo, le tengo hecho, es el siguiente: Select Case KeyAscii
Case 43
oper.Caption = "+"
Case 42
oper.Caption = "X"
Case 45
oper.Caption = "-"
Case 47
oper.Caption = "/"
Case Else
oper.Caption = ""
End Select

Donde oper es una label que a su vez (mas adelante en el programa..) indica la operacion que debe realizar ( +=+ x=* etc)

Vale, mi pregunta es: ¿Que uso para que en cualquier momento de la ejecucion del programa, si se pulsa uno de los operadores matematicos, me ejecute el codigo que os he puesto?

PD: Conseguirlo, lo he conseguido, pero lo consigo declarandolo en TODOS los textbox con el metodo textbox.keypress, y es un coñazo. He probado a que se ejecute al cargar el formulario (form_load), tambien con form_keypress y nada...
El mundo se divide en dos categorías, los que tienen el revolver cargado y los que cavan. ¡Tú cavas!

naderST

La solucion mas sencilla es: coloca un Timer y usa la API GetAsyncKeyState.

seba123neo

mmmm mejor sin timer,hookea con RegisterHotKey ,UnregisterHotKey .

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

SKL (orignal)

concuerdo con seba...

es mas cobein creo qeu tenia un modulo o una clase faciil de usar...

cobein

Pone en el form la propiedad KeyPreview=True y el code en Form_KeyPress
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.