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); }