protected void PrepareControl()
        {
            Control host = WindowlessControlHost.GetHost(this);

            if (host == null)
            {
                return;
            }
            if (Parent != host)
            {
                Parent = host;
            }
        }
        public static Point WindowlessPointToHost(IWindowlessControl control, Point point)
        {
            Point ret = point;

            if (control.Parent == null)
            {
                return(point);
            }
            IWindowlessControl host = WindowlessControlHost.GetHost(control);

            while (control != host)
            {
                ret.X  += control.Left;
                ret.Y  += control.Top;
                control = control.Parent;
            }
            return(ret);
        }