Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以将光标位置更改为c#上的F点吗?_C# - Fatal编程技术网

我可以将光标位置更改为c#上的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) 这两个都会丢失信息,但对你来说没关系。您不能将鼠标设置在两个连续像素之间。否,光标。位置是系统。绘图。点,它是一个整数值,因此

是否有方法将光标位置设为点F

像这样

 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 );

作为对为什么不可能的解释:用户界面元素(光标在更广泛意义上属于该元素)通常被设计为避免抗锯齿(否则它们看起来会很难看,这是不合理的,光标具有像素精度)。