C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

カーソル位置の取得方法に関して

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■91501 / inTopicNo.1)  カーソル位置の取得方法に関して
  
□投稿者/ RPG (1回)-(2019/07/02(Tue) 11:17:26)

分類:[.NET 全般] 

Chart上でカーソル位置を取得したいのですが



Private Sub Chart1_MouseMove(sender As Object, e As MouseEventArgs) Handles Chart1.MouseMove

方法1

Dim wx1 = e.X
Dim wy1 = e.Y

方法2
Dim hhh = Me.PointToClient(Windows.Forms.Cursor.Position)

End Sub



方法1で取得すると、
875x665
になるのに対し
方法2で取得すると
887x677
になり、わずかにずれた値となります。
前者が正しく、後者が間違った座標となります。

後者の方法だと正確に取得できないのはなぜなのでしょうか?




引用返信 編集キー/
■91502 / inTopicNo.2)  Re[1]: カーソル位置の取得方法に関して
□投稿者/ Hongliang (833回)-(2019/07/02(Tue) 11:28:12)
MouseEventArgsが提供するXやYやLocationは、senderであるコントロールのクライアント座標系における座標を表します。
この場合Chart1がsenderですね。

Me.PointToClientはそのメソッドを定義しているコントロールのクライアント座標系における座標を取得します。
Chart1_MouseMoveメソッドが定義されているのがFormかUserControlか分かりませんが、それが基準ということですね。
引用返信 編集キー/
■91503 / inTopicNo.3)  Re[2]: カーソル位置の取得方法に関して
□投稿者/ RPG (2回)-(2019/07/02(Tue) 11:37:55)
Chart1.PointToClient
にすれば良かったのですね
どうもありがとうございました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ