// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Windows.Forms.Layout; namespace System.Windows.Forms; public partial class ToolStripPanel { internal partial class ToolStripPanelControlCollection : TypedControlCollection { private readonly ToolStripPanel _owner; public ToolStripPanelControlCollection(ToolStripPanel owner) : base(owner, typeof(ToolStrip)) { _owner = owner; } internal override void AddInternal(Control? value) { if (value is not null) { using (new LayoutTransaction(value, value, PropertyNames.Parent)) { base.AddInternal(value); } } else { base.AddInternal(value); } } internal void Sort() { if (_owner.Orientation == Orientation.Horizontal) { InnerList.Sort(new YXComparer()); } else { InnerList.Sort(new XYComparer()); } } } } |