2011-05-29 20 views
5

Mi objetivo es obtener la posición actual en la pantalla (fuera del formulario) y guardar coordenadas X, Y presionando "C" por ejemplo.¿Cómo obtengo la posición actual del cursor de la pantalla?

He buscado y he encontrado alguna sugerencia para usar los ganchos de la API, pero me pregunto ¿hay alguna forma en que podamos hacer esta tarea puramente en el código C# (.NET Lib)?

Por favor dame una muestra rápida si es posible porque soy nuevo en C#.

Gracias

+0

Qué quiere decir "las coordenadas de pantalla absolutos"? Es decir. el desplazamiento xyy desde la esquina superior izquierda de la pantalla (en píxeles)? – corlettk

+0

@corlettk: sí, eso es lo que quiero decir. – Kelly

+0

@Icky: Sí, le pido a Kelly que nos asegure que, de hecho, es el caso. Probablemente él no sabía la terminología. – corlettk

Respuesta

9

sólo tiene que utilizar:

Cursor.Position 

o

Control.MousePosition 

para obtener la posición. A continuación, puede asignar el evento KeyPress de la forma:

private void Form1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == 'c') 
     MessageBox.Show(Cursor.Position.ToString()); 
} 

El individuo X y las coordenadas Y son dos propiedades del objeto Posición.

Documentación: http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx

+0

Probé tu código, pero cuando presioné la tecla "c", MessageBox no aparece. ¿Me falta algo? – Kelly

+0

Quizás fui demasiado rápido. Dices eres nuevo en C#, pero no sé cómo nuevo. Por favor, perdóname si esto es demasiado básico, pero ¿has agregado el evento KeyPress en el editor de formularios? – MPelletier

+0

Y, por supuesto, KeyPress en la forma es algo complicado, porque si un control tiene el foco, entonces el evento no se dispara. – MPelletier

Cuestiones relacionadas