Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

325
Vistas
Setting Cursor.Position "half"-works (from one monitor to another)

I have two monitors with the non-primary monitor (number 1) set to the main one's (number 2) top left like this:

enter image description here

I'll repeat: number 2 is the primary monitor.

Here's the code:

Cursor.Position = new Point(-500, -500);

What happens is that when the cursor is initially in the primary monitor (number 2), after the code is executed, the cursor moves to monitor number 1, to a location 500 pixels up from its bottom, but to its far right. Here:

enter image description here

Instead of here:

enter image description here

After running the above code twice, like so:

Cursor.Position = new Point(-500, -500);
Cursor.Position = new Point(-500, -500);

It gets to the correct place.

The problem is that this code seems like a hack and I'd like to avoid it, and get the cursor to the correct place in a "correct" way.

So how do I achieve that?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

When you have more than one screen then you have to be careful about Bounds of each screen C# provide an array of Screens and you can loop through that array to get more information about screen coordinates i.e. Screen.AllScreens

enter image description here

See the image bellow which demonstrate that only primary screen start from X:0 and Y:0 in 2D(X,Y) plane, we can adjust second screen anywhere, in my case it is has position (-1366,305) as shown. and different points ar enter image description here Each Screen has its bound from Left To Right and From Top to Bottom. You can use that bounds to go to exact position like shown in code I can move to any Point of any screen if I add its Bounds'value to Point.

   //To move on First Screen use its Bounds
    Cursor.Position = new Point(300 + Screen.AllScreens[0].Bounds.Left, 300 + Screen.AllScreens[0].Bounds.Top);
    
    //To move on Second Screen use its Bounds
    Cursor.Position = new Point(300 + Screen.AllScreens[1].Bounds.Left, 300 + Screen.AllScreens[1].Bounds.Top);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda