Farid-ur-Rahman Farid-ur-Rahman - 4 months ago 28
C# Question

Get cursor position with respect to the control - C#

I want to get the mouse position with respect to the control in which mouse pointer is present. That means when I place the cursor to the starting point (Top-Left corner) of control it should give (0,0). I am using the following code:

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
this.Text = Convert.ToString(Cursor.Position.X + ":" + Cursor.Position.Y);
}


But this gives the position with respect to the screen not to the control.

Code sample will be appreciated.

Ani Ani
Answer

You can directly use the Location property of the MouseEventArgs argument passed to your event-handler.

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
    Text = e.Location.X + ":" + e.Location.Y;      
}