2017-09-06 6 views
2

Dim StartingPointを書くことなく次のコードを書く方法を理解しようとしています。Dimをポイントとして返さない

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

次のコード:返すために私を必要Cursor.Position = PointToScreen()次のコードは、

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 

私はの線に沿ってそれを書くのが大好きだユーザーコントロールのオフセット値にカーソルを移動しますポイント。しかし、私は実際にそれを行う方法を理解することはできません。

+1

「Cursor.Position = New Point(x、y)」とは何ですか?しかし、なぜあなたは 'Dim 'なしでこれをしたいのですか?実際には、使用すると読みやすくなります。 –

+0

関数がポイントを返すようにしますか? –

+0

なぜそれが必要ですか?少ない行? Dimはあなたの例では新しいポイントを作成しません。 –

答えて

2

あなたが持っている問題は)(オフセットが値を返さないサブルーチンがあるが、代わりにあなたが本当に1行でそれが必要な場合は、そうせずに行うことができます

対象の値を変更するということですこのようにオフセットの呼び出し:

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

をRedditのからいくつかの助けを借りて、私は別の答えReset Cursor Redditを得ました。

Private Sub MoveToStart() 
    Cursor.Position = PointToScreen(Panel1.Location) 
    Cursor.Position.Offset(10,10) 
End Sub 
関連する問題