Cursor.Position没有使用Array / Variable设置正确的点

时间:2014-06-28 09:30:34

标签: vb.net

我有一个三点的数组:

Public Points(2) As Point

我设置了Point(0)的值:

Points(0) = PointToScreen(Label1.Location)

当我使用此设置光标位置时,位置位于左上角,或0,0

Cursor.Position = Points(0)

我也试过这个没有运气:

Cursor.Position = New Point(Points(0).X, Points(0).Y)

此外,我已经确认Point(0)确实包含一个值,方法是在文本框中显示它。

我做错了什么?我感谢任何回复。感谢

2 个答案:

答案 0 :(得分:1)

Point的分配应该可以正常工作。

但请注意,正如您所说,PointToScreen是表单的一种方法。 如果Label1直接位于表单上,那么PointToScreen(Label1.Location)将起作用,但如果它位于另一个容器中则不行。

如果Label1位于表单上,那么您的调用等同于:

Cursor.Position = Label1.Parent.PointToScreen(Label1.Location)

但这只有在Label1.Parent = Form1时才有效,这在您的情况可能并非如此 - 所以您需要使用上面的行,这可以进一步减少:

Cursor.Position = Label1.PointToScreen(New Point(0, 0))

答案 1 :(得分:0)

Windows.Forms.Cursor.Position = New Point(100, 100)