DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,558 @@
|
||||
using DevComponents.DotNetBar.Rendering;
|
||||
using DevComponents.Editors;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DevComponents.DotNetBar.Controls
|
||||
{
|
||||
[ToolboxBitmap(typeof(CollapsibleSplitContainer), "Controls.CollapsibleSplitContainer.ico")]
|
||||
public class CollapsibleSplitContainer : SplitContainer
|
||||
{
|
||||
#region Constructor
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the CollapsibleSplitContainer class.
|
||||
/// </summary>
|
||||
public CollapsibleSplitContainer()
|
||||
{
|
||||
ControlStyles cs = ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer;
|
||||
this.SetStyle(cs, true);
|
||||
object[] objArgs = new object[] { cs, true };
|
||||
MethodInfo mi = typeof(Control).GetMethod("SetStyle", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
if (mi != null)
|
||||
{
|
||||
mi.Invoke(this.Panel1, objArgs);
|
||||
mi.Invoke(this.Panel2, objArgs);
|
||||
}
|
||||
this.SplitterWidth = 20;
|
||||
_OverrideCursorPropInfo = typeof(SplitContainer).GetProperty("OverrideCursor", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
this.SplitterMoved += SplitterMovedHandler;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
this.SplitterMoved -= SplitterMovedHandler;
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Implementation
|
||||
private Rectangle _NearCollapseButton = Rectangle.Empty;
|
||||
private Rectangle _FarCollapseButton = Rectangle.Empty;
|
||||
private eButtonState _NearCollapseButtonState = eButtonState.Normal, _FarCollapseButtonState = eButtonState.Normal;
|
||||
private const int ButtonSpacing = 2;
|
||||
|
||||
private void UpdateButtonLayout()
|
||||
{
|
||||
Rectangle r = this.SplitterRectangle;
|
||||
Size buttonSize = new Size(this.SplitterWidth, this.SplitterWidth);
|
||||
if (this.Orientation == System.Windows.Forms.Orientation.Horizontal)
|
||||
{
|
||||
if (_ButtonPosition == eSplitterButtonPosition.Near)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.X, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(_NearCollapseButton.Right + ButtonSpacing, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
else if (_ButtonPosition == eSplitterButtonPosition.Center)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.X + (r.Width - (buttonSize.Width * 2 + ButtonSpacing)) / 2, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(_NearCollapseButton.Right + ButtonSpacing, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
else if (_ButtonPosition == eSplitterButtonPosition.Far)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.Right - buttonSize.Width * 2 - ButtonSpacing, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(_NearCollapseButton.Right + ButtonSpacing, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_ButtonPosition == eSplitterButtonPosition.Near)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.X, r.Y, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(r.X, _NearCollapseButton.Bottom + ButtonSpacing, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
else if (_ButtonPosition == eSplitterButtonPosition.Center)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.X, r.Y + (r.Height - (buttonSize.Height * 2 + ButtonSpacing)) / 2, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(r.X, _NearCollapseButton.Bottom + ButtonSpacing, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
else if (_ButtonPosition == eSplitterButtonPosition.Far)
|
||||
{
|
||||
_NearCollapseButton = new Rectangle(r.X, r.Bottom - buttonSize.Height * 2 - ButtonSpacing, buttonSize.Width, buttonSize.Height);
|
||||
_FarCollapseButton = new Rectangle(r.X, _NearCollapseButton.Bottom + ButtonSpacing, buttonSize.Width, buttonSize.Height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
UpdateButtonLayout();
|
||||
|
||||
base.OnPaint(e);
|
||||
|
||||
Graphics g = e.Graphics;
|
||||
bool isHorizontal = this.Orientation == System.Windows.Forms.Orientation.Horizontal;
|
||||
|
||||
if (_NearCollapseButtonState != eButtonState.Hidden)
|
||||
{
|
||||
Office2007ButtonItemStateColorTable ct = GetOffice2007StateColorTable(_NearCollapseButtonState);
|
||||
Office2007ButtonItemPainter.PaintBackground(g, ct, _NearCollapseButton, RoundRectangleShapeDescriptor.RectangleShape);
|
||||
Rectangle r = _NearCollapseButton;
|
||||
r.Inflate(-2, -2);
|
||||
TextDrawing.DrawStringLegacy(g, isHorizontal ? "\uf077" : "\uf053", Symbols.GetFont(9f, eSymbolSet.Awesome),
|
||||
ct.Text, r, eTextFormat.HorizontalCenter | eTextFormat.VerticalCenter);
|
||||
}
|
||||
if (_FarCollapseButtonState != eButtonState.Hidden)
|
||||
{
|
||||
Office2007ButtonItemStateColorTable ct = GetOffice2007StateColorTable(_FarCollapseButtonState);
|
||||
Office2007ButtonItemPainter.PaintBackground(g, ct, _FarCollapseButton, RoundRectangleShapeDescriptor.RectangleShape);
|
||||
Rectangle r = _FarCollapseButton;
|
||||
r.Inflate(-2, -2);
|
||||
TextDrawing.DrawStringLegacy(g, isHorizontal ? "\uf078" : "\uf054", Symbols.GetFont(9f, eSymbolSet.Awesome),
|
||||
ct.Text, r, eTextFormat.HorizontalCenter | eTextFormat.VerticalCenter);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected Office2007ButtonItemStateColorTable GetOffice2007StateColorTable(eButtonState state)
|
||||
{
|
||||
if (GlobalManager.Renderer is Office2007Renderer)
|
||||
{
|
||||
Office2007ColorTable ct = ((Office2007Renderer)GlobalManager.Renderer).ColorTable;
|
||||
Office2007ButtonItemColorTable buttonColorTable = ct.ButtonItemColors[Enum.GetName(typeof(eButtonColor), eButtonColor.OrangeWithBackground)];
|
||||
if (!this.Enabled || state == eButtonState.Disabled)
|
||||
return buttonColorTable.Disabled;
|
||||
else if (state == eButtonState.MouseDownLeft)
|
||||
return buttonColorTable.Pressed;
|
||||
else if (state == eButtonState.MouseOver)
|
||||
return buttonColorTable.MouseOver;
|
||||
else
|
||||
return buttonColorTable.Default;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Orientation _CurrentOrientation = Orientation.Vertical;
|
||||
protected override void OnLayout(LayoutEventArgs e)
|
||||
{
|
||||
base.OnLayout(e);
|
||||
|
||||
if (_CurrentOrientation != this.Orientation)
|
||||
{
|
||||
_CurrentOrientation = this.Orientation;
|
||||
UpdateButtonLayout();
|
||||
}
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
private bool IsButtonActive(eButtonState state)
|
||||
{
|
||||
return state != eButtonState.Hidden && state != eButtonState.Disabled;
|
||||
}
|
||||
private Cursor _OriginalCursor = null;
|
||||
protected override void OnMouseMove(MouseEventArgs e)
|
||||
{
|
||||
if (IsButtonActive(_NearCollapseButtonState))
|
||||
{
|
||||
if (_NearCollapseButton.Contains(e.Location))
|
||||
{
|
||||
if (_NearCollapseButtonState == eButtonState.Normal)
|
||||
{
|
||||
_NearCollapseButtonState = eButtonState.MouseOver;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_NearCollapseButtonState = eButtonState.Normal;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
if (IsButtonActive(_FarCollapseButtonState))
|
||||
{
|
||||
if (_FarCollapseButton.Contains(e.Location))
|
||||
{
|
||||
if (_FarCollapseButtonState == eButtonState.Normal)
|
||||
{
|
||||
_FarCollapseButtonState = eButtonState.MouseOver;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_FarCollapseButtonState = eButtonState.Normal;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
if (_NearCollapseButton.Contains(e.Location) || _FarCollapseButton.Contains(e.Location))
|
||||
{
|
||||
if (_OriginalCursor == null && _OverrideCursorPropInfo != null)
|
||||
{
|
||||
_OriginalCursor = (Cursor)_OverrideCursorPropInfo.GetValue(this, null);
|
||||
_OverrideCursorPropInfo.SetValue(this, Cursors.Default, null);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
RestoreOriginalCursor();
|
||||
|
||||
base.OnMouseMove(e);
|
||||
}
|
||||
|
||||
private PropertyInfo _OverrideCursorPropInfo = null;
|
||||
private void RestoreOriginalCursor()
|
||||
{
|
||||
if (_OriginalCursor != null)
|
||||
{
|
||||
_OverrideCursorPropInfo.SetValue(this, _OriginalCursor, null); ;
|
||||
_OriginalCursor = null;
|
||||
}
|
||||
}
|
||||
protected override void OnMouseDown(MouseEventArgs e)
|
||||
{
|
||||
if (IsButtonActive(_NearCollapseButtonState))
|
||||
{
|
||||
if (_NearCollapseButton.Contains(e.Location) && e.Button == System.Windows.Forms.MouseButtons.Left)
|
||||
{
|
||||
_NearCollapseButtonState = eButtonState.MouseDownLeft;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
if (IsButtonActive(_FarCollapseButtonState))
|
||||
{
|
||||
if (_FarCollapseButton.Contains(e.Location) && e.Button == System.Windows.Forms.MouseButtons.Left)
|
||||
{
|
||||
_FarCollapseButtonState = eButtonState.MouseDownLeft;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
if (_NearCollapseButton.Contains(e.Location) || _FarCollapseButton.Contains(e.Location))
|
||||
return;
|
||||
base.OnMouseDown(e);
|
||||
}
|
||||
|
||||
protected override void OnMouseUp(MouseEventArgs e)
|
||||
{
|
||||
if (IsButtonActive(_NearCollapseButtonState))
|
||||
{
|
||||
if (_NearCollapseButton.Contains(e.Location))
|
||||
{
|
||||
if (_NearCollapseButtonState == eButtonState.MouseDownLeft)
|
||||
{
|
||||
_NearCollapseButtonState = eButtonState.MouseOver;
|
||||
// Trigger button action
|
||||
NearCollapseButtonClick();
|
||||
}
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
if (IsButtonActive(_FarCollapseButtonState))
|
||||
{
|
||||
if (_FarCollapseButton.Contains(e.Location))
|
||||
{
|
||||
if (_FarCollapseButtonState == eButtonState.MouseDownLeft)
|
||||
{
|
||||
_FarCollapseButtonState = eButtonState.MouseOver;
|
||||
// Trigger button action
|
||||
FarCollapseButtonClick();
|
||||
}
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
if (_NearCollapseButton.Contains(e.Location) || _FarCollapseButton.Contains(e.Location))
|
||||
return;
|
||||
|
||||
base.OnMouseUp(e);
|
||||
}
|
||||
|
||||
protected override void OnKeyUp(KeyEventArgs e)
|
||||
{
|
||||
base.OnKeyUp(e);
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
// <summary>
|
||||
/// Occurs before near collapse button is clicked and allows you to cancel its action.
|
||||
/// </summary>
|
||||
[Description("Occurs before near collapse button is clicked and allows you to cancel its action.")]
|
||||
public event CancelEventHandler BeforeNearCollapseButtonClick;
|
||||
/// <summary>
|
||||
/// Raises BeforeNearCollapseButtonClick event.
|
||||
/// </summary>
|
||||
/// <param name="e">Provides event arguments.</param>
|
||||
protected virtual void OnBeforeNearCollapseButtonClick(CancelEventArgs e)
|
||||
{
|
||||
CancelEventHandler handler = BeforeNearCollapseButtonClick;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs after near collapse button is clicked.
|
||||
/// </summary>
|
||||
[Description("Occurs after near collapse button is clicked.")]
|
||||
public event EventHandler NearCollapseButtonClicked;
|
||||
/// <summary>
|
||||
/// Raises NearCollapseButtonClick event.
|
||||
/// </summary>
|
||||
/// <param name="e">Provides event arguments.</param>
|
||||
protected virtual void OnNearCollapseButtonClicked(EventArgs e)
|
||||
{
|
||||
EventHandler handler = NearCollapseButtonClicked;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
private int _OriginalSplitterDistance = 0;
|
||||
private bool _IsPanel1Minimized = false;
|
||||
private bool _IsPanel2Minimized = false;
|
||||
private bool _InternalDistanceChange = false;
|
||||
private void NearCollapseButtonClick()
|
||||
{
|
||||
CancelEventArgs e = new CancelEventArgs();
|
||||
OnBeforeNearCollapseButtonClick(e);
|
||||
if (e.Cancel) return;
|
||||
|
||||
if (_CollapseMode == eCollapseMode.PanelMinSize)
|
||||
{
|
||||
_InternalDistanceChange = true;
|
||||
try
|
||||
{
|
||||
if (_IsPanel2Minimized)
|
||||
{
|
||||
this.SplitterDistance = _OriginalSplitterDistance;
|
||||
_IsPanel2Minimized = false;
|
||||
_FarCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
else if (!_IsPanel1Minimized)
|
||||
{
|
||||
_OriginalSplitterDistance = this.SplitterDistance;
|
||||
this.SplitterDistance = this.Panel1MinSize;
|
||||
_IsPanel1Minimized = true;
|
||||
_NearCollapseButtonState = eButtonState.Disabled;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_InternalDistanceChange = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Panel1Collapsed = true;
|
||||
}
|
||||
|
||||
OnNearCollapseButtonClicked(EventArgs.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs before far collapse button is clicked and allows you to cancel its action.
|
||||
/// </summary>
|
||||
[Description("Occurs before far collapse button is clicked and allows you to cancel its action.")]
|
||||
public event CancelEventHandler BeforeFarCollapseButtonClick;
|
||||
/// <summary>
|
||||
/// Raises BeforeFarCollapseButtonClick event.
|
||||
/// </summary>
|
||||
/// <param name="e">Provides event arguments.</param>
|
||||
protected virtual void OnBeforeFarCollapseButtonClick(CancelEventArgs e)
|
||||
{
|
||||
CancelEventHandler handler = BeforeFarCollapseButtonClick;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs after far collapse button is clicked.
|
||||
/// </summary>
|
||||
[Description("Occurs after far collapse button is clicked.")]
|
||||
public event EventHandler FarCollapseButtonClicked;
|
||||
/// <summary>
|
||||
/// Raises FarCollapseButtonClick event.
|
||||
/// </summary>
|
||||
/// <param name="e">Provides event arguments.</param>
|
||||
protected virtual void OnFarCollapseButtonClicked(EventArgs e)
|
||||
{
|
||||
EventHandler handler = FarCollapseButtonClicked;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
private void FarCollapseButtonClick()
|
||||
{
|
||||
CancelEventArgs e=new CancelEventArgs();
|
||||
OnBeforeFarCollapseButtonClick(e);
|
||||
if (e.Cancel) return;
|
||||
|
||||
if (_CollapseMode == eCollapseMode.PanelMinSize)
|
||||
{
|
||||
_InternalDistanceChange = true;
|
||||
|
||||
try
|
||||
{
|
||||
if (_IsPanel1Minimized)
|
||||
{
|
||||
this.SplitterDistance = _OriginalSplitterDistance;
|
||||
_IsPanel1Minimized = false;
|
||||
_NearCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
else if (!_IsPanel2Minimized)
|
||||
{
|
||||
_OriginalSplitterDistance = this.SplitterDistance;
|
||||
if (this.Orientation == System.Windows.Forms.Orientation.Vertical)
|
||||
this.SplitterDistance = this.Width - this.Panel2MinSize;
|
||||
else
|
||||
this.SplitterDistance = this.Height - this.Panel2MinSize;
|
||||
_IsPanel2Minimized = true;
|
||||
_FarCollapseButtonState = eButtonState.Disabled;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_InternalDistanceChange = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Panel2Collapsed = true;
|
||||
}
|
||||
|
||||
OnFarCollapseButtonClicked(EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void SplitterMovedHandler(object sender, SplitterEventArgs e)
|
||||
{
|
||||
if (_InternalDistanceChange) return;
|
||||
if(_IsPanel1Minimized)
|
||||
{
|
||||
_IsPanel1Minimized = false;
|
||||
_NearCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
else if (_IsPanel2Minimized)
|
||||
{
|
||||
_IsPanel2Minimized = false;
|
||||
_FarCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnMouseEnter(EventArgs e)
|
||||
{
|
||||
base.OnMouseEnter(e);
|
||||
}
|
||||
|
||||
protected override void OnMouseLeave(EventArgs e)
|
||||
{
|
||||
if (IsButtonActive(_NearCollapseButtonState))
|
||||
{
|
||||
_NearCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
if (IsButtonActive(_FarCollapseButtonState))
|
||||
{
|
||||
_FarCollapseButtonState = eButtonState.Normal;
|
||||
}
|
||||
RestoreOriginalCursor();
|
||||
Invalidate();
|
||||
base.OnMouseLeave(e);
|
||||
}
|
||||
|
||||
private eSplitterButtonPosition _ButtonPosition = eSplitterButtonPosition.Near;
|
||||
/// <summary>
|
||||
/// Indicates position of buttons inside container.
|
||||
/// </summary>
|
||||
[DefaultValue(eSplitterButtonPosition.Near), Category("Appearance"), Description("Indicates position of buttons inside container.")]
|
||||
public eSplitterButtonPosition ButtonPosition
|
||||
{
|
||||
get { return _ButtonPosition; }
|
||||
set
|
||||
{
|
||||
if (value != _ButtonPosition)
|
||||
{
|
||||
eSplitterButtonPosition oldValue = _ButtonPosition;
|
||||
_ButtonPosition = value;
|
||||
OnButtonPositionChanged(oldValue, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Called when ButtonPosition property has changed.
|
||||
/// </summary>
|
||||
/// <param name="oldValue">Old property value</param>
|
||||
/// <param name="newValue">New property value</param>
|
||||
protected virtual void OnButtonPositionChanged(eSplitterButtonPosition oldValue, eSplitterButtonPosition newValue)
|
||||
{
|
||||
UpdateButtonLayout();
|
||||
this.Invalidate();
|
||||
//OnPropertyChanged(new PropertyChangedEventArgs("ButtonPosition"));
|
||||
}
|
||||
|
||||
private eCollapseMode _CollapseMode = eCollapseMode.PanelMinSize;
|
||||
/// <summary>
|
||||
/// Specifies how panels are collapsed when collapse buttons are pressed.
|
||||
/// </summary>
|
||||
[DefaultValue(eCollapseMode.PanelMinSize), Category("Behavior"), Description("Specifies how panels are collapsed when collapse buttons are pressed.")]
|
||||
public eCollapseMode CollapseMode
|
||||
{
|
||||
get { return _CollapseMode; }
|
||||
set
|
||||
{
|
||||
if (value !=_CollapseMode)
|
||||
{
|
||||
eCollapseMode oldValue = _CollapseMode;
|
||||
_CollapseMode = value;
|
||||
OnCollapseModeChanged(oldValue, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Called when CollapseMode property has changed.
|
||||
/// </summary>
|
||||
/// <param name="oldValue">Old property value</param>
|
||||
/// <param name="newValue">New property value</param>
|
||||
protected virtual void OnCollapseModeChanged(eCollapseMode oldValue, eCollapseMode newValue)
|
||||
{
|
||||
//OnPropertyChanged(new PropertyChangedEventArgs("CollapseMode"));
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines available positions for buttons inside CollapsibleSplitterContainer.
|
||||
/// </summary>
|
||||
public enum eSplitterButtonPosition
|
||||
{
|
||||
/// <summary>
|
||||
/// Buttons are positioned on left or top side depending on orientation.
|
||||
/// </summary>
|
||||
Near,
|
||||
/// <summary>
|
||||
/// Buttons are positioned in center of container.
|
||||
/// </summary>
|
||||
Center,
|
||||
/// <summary>
|
||||
/// Buttons are positioned on right or bottom side depending on orientation.
|
||||
/// </summary>
|
||||
Far,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines collapse mode for the CollapsibleSplitContainer control.
|
||||
/// </summary>
|
||||
public enum eCollapseMode
|
||||
{
|
||||
/// <summary>
|
||||
/// When buttons are pressed the splitter is positioned at the PanelMinSize.
|
||||
/// </summary>
|
||||
PanelMinSize,
|
||||
/// <summary>
|
||||
/// When buttons are pressed associated panel is collapsed through Panel1Collapsed or Panel2Collapsed properties.
|
||||
/// </summary>
|
||||
PanelCollapse
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user