private Size GetRealClientArea(Point location)
{
int width = ClientSize.Width;
int height = ClientSize.Height;
if (location.X < 0)
width = Math.Abs(location.X) + ClientSize.Width;
if (location.Y < 0)
height = Math.Abs(location.Y) + ClientSize.Height;
return new Size(width, height);
}