protected void LayoutControls() { if (rootConditionControl != null) { int subtreeWidth = rootConditionControl.GetSubtreeWidth(horizontalMargin, 0); int centerX = subtreeWidth / 2 + AutoScrollPosition.X; int verticalOffset = rootConditionControl.Height / 2 + verticalMargin + AutoScrollPosition.Y; rootConditionControl.Center = new Point(centerX, verticalOffset); rootConditionControl.LayoutChildControls(horizontalMargin, verticalMargin); } }
public override void LayoutChildControls(int horizontalMargin, int verticalMargin) { ConditionControlBase rightControl = SubconditionControls[0]; ConditionControlBase leftControl = SubconditionControls[1]; int rihgtSubtreeWidth = rightControl.GetSubtreeWidth(horizontalMargin, 0); int leftSubtreeWidth = leftControl.GetSubtreeWidth(horizontalMargin, 0); int x = Center.X + rihgtSubtreeWidth / 2; int y = Bounds.Bottom + 2 * verticalMargin + rightControl.Height / 2; //int y = Bounds.Y + Bounds.Height + 2 * verticalMargin + rightControl.Height / 2; rightControl.Center = new Point(x, y); x = Center.X - leftSubtreeWidth / 2; y = Bounds.Bottom + 2 * verticalMargin + leftControl.Height / 2; //y = Bounds.Y + Bounds.Height + 2 * verticalMargin + leftControl.Height / 2; leftControl.Center = new Point(x, y); base.LayoutChildControls(horizontalMargin, verticalMargin); }