| File: System\Windows\Forms\Panels\SplitterPanel.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.ComponentModel; using System.Drawing; namespace System.Windows.Forms; [Docking(DockingBehavior.Never)] [Designer($"System.Windows.Forms.Design.SplitterPanelDesigner, {Assemblies.SystemDesign}")] [ToolboxItem(false)] public sealed class SplitterPanel : Panel { public SplitterPanel(SplitContainer owner) : base() { Owner = owner; SetStyle(ControlStyles.ResizeRedraw, true); } internal bool Collapsed { get; set; } /// <summary> /// Gets or sets a value that indicates whether the <see cref="SplitterPanel" /> is automatically /// resized to display its entire contents. This property is not relevant to this class. /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; } /// <summary> /// Occurs when the value of the <see cref="AutoSize" /> property has changed. /// This event is not relevant to this class. /// </summary> [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler? AutoSizeChanged { add => base.AutoSizeChanged += value; remove => base.AutoSizeChanged -= value; } /// <summary> /// Allows the control to optionally shrink when AutoSize is true. /// </summary> /// <value>One of the <see cref="AutoSizeMode" /> values. </value> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] [Localizable(false)] public override AutoSizeMode AutoSizeMode { get => AutoSizeMode.GrowOnly; set { } } /// <summary> /// Override Anchor to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new AnchorStyles Anchor { get => base.Anchor; set => base.Anchor = value; } /// <summary> /// Indicates what type of border the Splitter control has. This value /// comes from the System.Windows.Forms.BorderStyle enumeration. /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; } /// <summary> /// Gets or sets which edge of the <see cref="SplitContainer" /> that the /// <see cref="SplitterPanel" /> is docked to. /// This property is not relevant to this class. /// </summary> /// <value> /// One of the enumeration values that specifies which edge of the <see cref="SplitContainer" /> /// that the <see cref="SplitterPanel" /> is docked to. /// </value> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new DockStyle Dock { get => base.Dock; set => base.Dock = value; } /// <summary> /// Override DockPadding to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new DockPaddingEdges DockPadding { get => base.DockPadding; } /// <summary> /// The height of this SplitterPanel /// </summary> [SRCategory(nameof(SR.CatLayout))] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Always)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [SRDescription(nameof(SR.ControlHeightDescr))] public new int Height { get => Collapsed ? 0 : base.Height; set => throw new NotSupportedException(SR.SplitContainerPanelHeight); } internal int HeightInternal { get => ((Panel)this).Height; set => ((Panel)this).Height = value; } /// <summary> /// Override Location to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new Point Location { get => base.Location; set => base.Location = value; } /// <summary> /// Gets the default space, in pixels, that separates the controls. /// </summary> /// <value> /// A new instance of the <see cref="Padding" /> struct with the padding set to 0 for all edges. /// </value> protected override Padding DefaultMargin => new(0, 0, 0, 0); /// <summary> /// Override AutoSize to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; } /// <summary> /// Override AutoSize to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; } /// <summary> /// The name of this <see cref="SplitterPanel" />. /// This property is not relevant to this class. /// </summary> /// <value>The name of this <see cref="SplitterPanel" />.</value> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] [AllowNull] public new string Name { get => base.Name; set => base.Name = value; } /// <summary> /// The parent of this control. /// </summary> internal SplitContainer Owner { get; } /// <summary> /// Gets or sets the <see cref="SplitContainer" /> that contains this <see cref="SplitterPanel" />. /// This property is not relevant to this class. /// </summary> /// <value> /// A control representing the <see cref="SplitContainer" /> that contains this <see cref="SplitterPanel" />. /// </value> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new Control? Parent { get => base.Parent; set => base.Parent = value; } /// <summary> /// Override Size to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new Size Size { get => Collapsed ? Size.Empty : base.Size; set => base.Size = value; } /// <summary> /// Override TabIndex to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new int TabIndex { get => base.TabIndex; set => base.TabIndex = value; } /// <summary> /// Gets or sets a value that indicates whether the user can give the focus to this /// <see cref="SplitterPanel" /> using the TAB key. /// This property is not relevant to this class. /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new bool TabStop { get => base.TabStop; set => base.TabStop = value; } /// <summary> /// Gets or sets a value that indicates whether the <see cref="SplitterPanel" /> is displayed. /// This property is not relevant to this class. /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new bool Visible { get => base.Visible; set => base.Visible = value; } /// <summary> /// The width of this control. /// </summary> [SRCategory(nameof(SR.CatLayout))] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Always)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [SRDescription(nameof(SR.ControlWidthDescr))] public new int Width { get => Collapsed ? 0 : base.Width; set => throw new NotSupportedException(SR.SplitContainerPanelWidth); } internal int WidthInternal { get => base.Width; set => base.Width = value; } /// <summary> /// Override VisibleChanged to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new event EventHandler? VisibleChanged { add => base.VisibleChanged += value; remove => base.VisibleChanged -= value; } /// <summary> /// Override DockChanged to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new event EventHandler? DockChanged { add => base.DockChanged += value; remove => base.DockChanged -= value; } /// <summary> /// Override LocationChanged to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new event EventHandler? LocationChanged { add => base.LocationChanged += value; remove => base.LocationChanged -= value; } /// <summary> /// Override TabIndexChanged to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new event EventHandler? TabIndexChanged { add => base.TabIndexChanged += value; remove => base.TabIndexChanged -= value; } /// <summary> /// Override TabStopChanged to make it hidden from the user in the designer /// </summary> [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [Browsable(false)] public new event EventHandler? TabStopChanged { add => base.TabStopChanged += value; remove => base.TabStopChanged -= value; } }