Как разместить курсор точно по центру экрана - PullRequest
5 голосов
/ 15 июня 2011

Как разместить курсор точно по центру экрана в C #?

без разрешения независимо (может быть 1024X768 или 1600X900)

Ответы [ 3 ]

12 голосов
/ 15 июня 2011

Как насчет этого, если у вас есть только 1 монитор:

Cursor.Position = new Point(Screen.PrimaryScreen.Bounds.Width / 2,
                            Screen.PrimaryScreen.Bounds.Height / 2);
7 голосов
/ 16 июня 2011

Начните с получения экземпляра Screen , представляющего интерес. Если вам нужен только основной монитор, просто попросите экземпляр PrimaryScreen . Однако, если вам нужен монитор с указателем мыши, используйте статический метод FromPoint .

    // Main monitor
    Screen s = Screen.PrimaryScreen;

    // Monitor that contains the mouse pointer
    Screen s = Screen.FromPoint(Cursor.Position);

Чтобы получить необработанные границы монитора, просто используйте свойство экземпляра Bounds . Но если вам нужна рабочая область монитора, область, оставшаяся после выделения пространства для панели задач и виджетов, используйте свойство экземпляра WorkingArea .

    // Raw bounds of the monitor (i.e. actual pixel resolution)
    Rectangle b = s.Bounds;

    // Working area after subtracting task bar/widget area etc...
    Rectangle b = s.WorkingArea;

Наконец, поместите мышь в центр рассчитанных границ.

    // On multi monitor systems the top left will not necessarily be 0,0
    Cursor.Position = new Point(b.Left + b.Width / 2,
                                b.Top + b.Height / 2);
0 голосов
/ 15 июня 2011

Попробуйте

        var r = Screen.PrimaryScreen.Bounds;

        System.Windows.Forms.Cursor.Position = new Point(r.Bottom/2,r.Right/2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...