public override void DoSizing(Point p)
        {
            SizeGripPosition gp = Owner.GripPosition;

            if (Owner.Form.RightToLeftLayout)
            {
                gp = CustomComboBoxPopupListBoxForm.InvertGripPosition(gp);
            }
            if (cursor == Cursors.SizeNS)
            {
                if (gp == SizeGripPosition.LeftBottom || gp == SizeGripPosition.LeftTop)
                {
                    p.X = SizingBounds.X;
                }
                else
                {
                    p.X = SizingBounds.Right;
                }
                p.X = PointToClient(p).X;
            }
            else if (cursor == Cursors.SizeWE)
            {
                if (gp == SizeGripPosition.LeftBottom || gp == SizeGripPosition.RightBottom)
                {
                    p.Y = SizingBounds.Bottom;
                }
                else
                {
                    p.Y = SizingBounds.Y;
                }
                p.Y = PointToClient(p).Y;
            }
            base.DoSizing(p);
        }
        internal static SizeGripPosition InvertGripPosition(SizeGripPosition gripPos)
        {
            switch (gripPos)
            {
            case SizeGripPosition.LeftBottom:
                return(SizeGripPosition.RightBottom);

            case SizeGripPosition.RightTop:
                return(SizeGripPosition.LeftTop);

            case SizeGripPosition.LeftTop:
                return(SizeGripPosition.RightTop);

            case SizeGripPosition.RightBottom:
                return(SizeGripPosition.LeftBottom);
            }
            return(gripPos);
        }