| File: System\Windows\Forms\Layout\FlowLayout.BottomUpProxy.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms\System.Windows.Forms.csproj (System.Windows.Forms) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Drawing; namespace System.Windows.Forms.Layout; internal partial class FlowLayout { private class BottomUpProxy : ContainerProxy { public BottomUpProxy(IArrangedElement container) : base(container) { } /// <summary> /// For BottomUp we're really still laying out horizontally. The element proxy is the one /// which flips all the rectangles and rotates itself into the vertical orientation. /// BottomUp is the analog of RightToLeft - meaning, in order to place a control at the bottom, /// the control has to be placed to the right. When the rotation is complete, that's the equivalent of /// pushing it to the right. This must be done all the time. /// /// To achieve right to left, we actually have to do something non-intuitive - instead of /// sending the control to the right, we have to send the control to the bottom. When the rotation /// is complete - that's equivalent to pushing it to the right. /// </summary> public override Rectangle Bounds { set { // push the control to the bottom. // Do NOT use LayoutUtils.RTLTranslate as we want to preserve the padding.Right on the right... base.Bounds = RTLTranslateNoMarginSwap(value); } } protected override bool IsVertical => true; } }