public static Control FindTopControl(Control parent, Point screen_pt)
{
Control c = parent.GetChildAtPoint(parent.PointToClient(screen_pt));
if (c == null) {
if (parent.RectangleToScreen(new Rectangle(0, 0, parent.Width, parent.Height)).Contains(screen_pt))
return parent;
else
return null;
}
else
return FindTopControl(c, screen_pt);
}