protected override void OnLayout(LayoutEventArgs levent)
{
DockPadding.All = 0;
if (this.DockState == DockState.DockLeftAutoHide)
{
DockPadding.Right = 2;
this._mSplitter.Dock = DockStyle.Right;
}
else if (this.DockState == DockState.DockRightAutoHide)
{
DockPadding.Left = 2;
this._mSplitter.Dock = DockStyle.Left;
}
else if (this.DockState == DockState.DockTopAutoHide)
{
DockPadding.Bottom = 2;
this._mSplitter.Dock = DockStyle.Bottom;
}
else if (this.DockState == DockState.DockBottomAutoHide)
{
DockPadding.Top = 2;
this._mSplitter.Dock = DockStyle.Top;
}
Rectangle rectDisplaying = this.DisplayingRectangle;
var rectHidden = new Rectangle(-rectDisplaying.Width, rectDisplaying.Y, rectDisplaying.Width, rectDisplaying.Height);
foreach (Control c in Controls)
{
var pane = c as DockPane;
if (pane == null)
continue;
if (pane == this.ActivePane)
pane.Bounds = rectDisplaying;
else
pane.Bounds = rectHidden;
}
base.OnLayout(levent);
}