以下は、マウスカーソル座標を取得しフォームのクライアント座標に変換するサンプルです。
■C#
Point p = this.PointToClient(Cursor.Position);
int x = p.X;
int y = p.Y;
■VB.NET
Dim p As Point = Me.PointToClient(Cursor.Position)
Dim x As Integer = p.X
Dim y As Integer = p.Y
xには横軸、yには縦軸の値が入ります。コントロール左上が(0, 0)で基準となり、右はx加算、左はx減算、下はy加算、上はy減算となります。
RightToLeft のアプリケーションではxが逆になるらしいですが、試したらフォームのクライアント座標のみ逆になりました。通常 RightToLeft を使う場面はほとんどないでしょう。
他に、画面座標をコントロール上の座標をスクリーン座標(画面座標)に変換する PointToScreen メソッドがあります。
■環境
OS:Microsoft Windows XP Home Edition 日本語 Service Pack 3
IDE:Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1
Framework:Microsoft .NET Framework Version 2.0 SP2
■関連投稿
(C#, VB.NET)コントロールのスクリーン座標(画面座標)取得
(C#, VB.NET)スクリーン座標(画面座標)をコントロールから見たクライアント座標に変換