如何将光标准确地放置在屏幕的中心
本文关键字:屏幕 光标 标准 | 更新日期: 2023-09-27 17:59:16
如何在C#中放置光标精确的屏幕中心?
无分辨率独立(可以是1024X768或1600X900)
假设您只有一个监视器:
Cursor.Position = new Point(Screen.PrimaryScreen.Bounds.Width / 2,
Screen.PrimaryScreen.Bounds.Height / 2);
首先获取感兴趣的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);
尝试
var r = Screen.PrimaryScreen.Bounds;
System.Windows.Forms.Cursor.Position = new Point(r.Bottom/2,r.Right/2);