Obteniendo la posición del mouse en c #

¿Cómo obtengo la posición del mouse? Lo quiero en términos de posición de pantalla.

Comienzo el progtwig que quiero establecer en la posición actual del mouse.

Location.X = ?? Location.Y = ?? 

Editar: esto debe suceder antes de que se cree el formulario.

Debería usar System.Windows.Forms.Cursor.Position : “Un punto que representa la posición del cursor en coordenadas de pantalla”.

Si no desea hacer referencia a Formularios, puede usar interoperabilidad para obtener la posición del cursor:

 ///  /// Struct representing a point. ///  [StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; public static implicit operator Point(POINT point) { return new Point(point.X, point.Y); } } ///  /// Retrieves the cursor's position, in screen coordinates. ///  /// See MSDN documentation for further information. [DllImport("user32.dll")] public static extern bool GetCursorPos(out POINT lpPoint); public static Point GetCursorPosition() { POINT lpPoint; GetCursorPos(out lpPoint); //bool success = User32.GetCursorPos(out lpPoint); // if (!success) return lpPoint; } 

Cursor.Position obtendrá la posición actual de la pantalla del mouse (si está en un Control , la propiedad MousePosition también obtendrá el mismo valor).

Para establecer la posición del mouse, deberá usar Cursor.Position y darle un nuevo punto :

 Cursor.Position = new Point(x, y); 

Puede hacer esto en su método Main antes de crear su formulario.

Para responder a tu ejemplo específico:

 // your example Location.X = Cursor.Position.X; Location.Y = Cursor.Position.Y; // sample code Console.WriteLine("x: " + Cursor.Position.X + " y: " + Cursor.Position.Y); 

No olvides agregar using System.Windows.Forms; , y agregando la referencia a la misma (haga clic derecho en referencias> agregar referencia> pestaña .NET> Systems.Windows.Forms> ok)

 System.Windows.Forms.Control.MousePosition 

Obtiene la posición del cursor del mouse en las coordenadas de la pantalla. “La propiedad Position es idéntica a la propiedad Control.MousePosition”.

Para ver la posición, mira el evento OnMouseMove. MouseEventArgs te dará las posiciones x an y …

 protected override void OnMouseMove(MouseEventArgs mouseEv) 

Para establecer la posición del mouse, use la propiedad Cursor.Position.

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

Inicializa el cursor actual. Úselo para obtener la posición de X e Y

 this.Cursor = new Cursor(Cursor.Current.Handle); int posX = Cursor.Position.X; int posY = Cursor.Position.Y; 
  internal static class CursorPosition { [StructLayout(LayoutKind.Sequential)] public struct PointInter { public int X; public int Y; public static explicit operator Point(PointInter point) => new Point(point.X, point.Y); } [DllImport("user32.dll")] public static extern bool GetCursorPos(out PointInter lpPoint); // For your convenience public static Point GetCursorPosition() { PointInter lpPoint; GetCursorPos(out lpPoint); return (Point) lpPoint; } 

}