The selected answer is technically correct given the specifics of the question: such a property does not exist in the .NET framework.
But if you would like such a property, here is a control extension which will do the trick. Yes, it uses screen coordinates, but given the general nature of the post title, I'm sure some users who land on this page may find this useful.
Incidentally, I spent a couple hours trying to do this without screen coordinates by looping through all of the control parents. I could never get the two methods to reconcile. This may well be due to Hans Passant's comment to the OP about how Aero lies about the window size.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Cambia
{
public static class ControlExtensions
{
public static Point FormRelativeLocation(this Control control, Form form = null)
{
if (form == null)
{
form = control.FindForm();
if (form == null)
{
throw new Exception("Form not found.");
}
}
Point cScreen = control.PointToScreen(control.Location);
Point fScreen = form.Location;
Point cFormRel = new Point(cScreen.X - fScreen.X, cScreen.Y - fScreen.Y);
return cFormRel;
}
}
}