返回一个没有Dim作为Point的点

时间:2017-09-06 12:41:25

标签: vb.net

我试图理解如何编写以下代码而不编写Dim StartingPoint /或创建一个昏暗的点。 以下代码将光标移动到User Control的偏移值

Private Sub MoveToStart()
    Dim StartingPoint = Panel1.Location()           ' Get User Control Location
    StartingPoint.Offset(10, 10)                    ' Set Cursor Point offset
    Cursor.Position = PointToScreen(StartingPoint)  ' Move the Cursor to position
End Sub

我很乐意按照以下方式写出来:

Private Sub MoveToStart()
    Cursor.Position = PointToScreen(Panel1.Location.Offset(10, 10))
End Sub

以下代码:Cursor.Position = PointToScreen()需要我返回一个Point。但我真的无法弄清楚如何在没有昏暗的情况下做到这一点。

2 个答案:

答案 0 :(得分:2)

你遇到的问题是Offset()是一个不返回值的子程序,而是改变了目标的值

如果你真的需要它在一行,你可以这样做而不需要像这样调用偏移量:

Private Sub MoveToStart()
    Cursor.Position = New Point(PointToScreen(Panel1.Location()).X + 10, PointToScreen(Panel1.Location()).Y + 10)
End Sub 

答案 1 :(得分:0)

在Reddit的帮助下,我得到了另一个答案Reset Cursor Reddit

Private Sub MoveToStart()
  Cursor.Position = PointToScreen(Panel1.Location)
  Cursor.Position.Offset(10,10)
End Sub