You could do it a number of ways:
Listen to the MouseEnter
event of your form's controls. The "sender" parameter will tell you what control raised the event.
Obtain the cursor position using System.Windows.Forms.Cursor.Location
and map it to your form's coordinates using Form.PointToClient()
. You can then pass the point to Form.GetChildAtPoint()
to find the control under that point.
Andrew