我可以将光标位置更改为c#上的F点吗?
是否有方法将光标位置设为点F 像这样我可以将光标位置更改为c#上的F点吗?,c#,C#,是否有方法将光标位置设为点F 像这样 Cursor.Position=new PointF(457.630,480.9155); 不,不直接,但您可以将点F转换为点 Point已经有两种静态方法可以帮助您: Cursor.Position=Point.Round(您的pointf) 或 Cursor.Position=Point.Truncate(您的pointf) 这两个都会丢失信息,但对你来说没关系。您不能将鼠标设置在两个连续像素之间。否,光标。位置是系统。绘图。点,它是一个整数值,因此
Cursor.Position=new PointF(457.630,480.9155);
不,不直接,但您可以将
点F
转换为点
Point
已经有两种静态方法可以帮助您:
Cursor.Position=Point.Round(您的pointf)代码>
或
Cursor.Position=Point.Truncate(您的pointf)代码>
这两个都会丢失信息,但对你来说没关系。您不能将鼠标设置在两个连续像素之间。否,光标。位置是系统。绘图。点
,它是一个整数值,因此您需要将其转换为点
。你会失去一些精确性
这样看:如果你有一个10 x 10像素的网格,你不能说选择x=5.7和Y=6.2的像素,因为你不能把一个像素切成两半。不,这是不可能的。无法以亚像素精度定位光标。
如果将X和Y坐标设为浮动,则必须首先将它们转换为int,创建一个点
对象,然后设置光标位置:
Cursor.Position = new Point( (int) 457.630F, (int) 480.9155F );
作为对为什么不可能的解释:用户界面元素(光标在更广泛意义上属于该元素)通常被设计为避免抗锯齿(否则它们看起来会很难看,这是不合理的,光标具有像素精度)。