|
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
namespace Liron.Windows.Forms
{
[Designer(typeof(Liron.Windows.Forms.Design.MultiPanelPageDesigner))]
public class MultiPanelPage : ContainerControl
{
public MultiPanelPage()
{
base.Dock = DockStyle.Fill;
}
/// <summary>
/// Overridden from <see cref="Panel"/>.
/// </summary>
/// <remarks>
/// Since the <see cref="MultiPanelPage"/> exists only
/// in the context of a <see cref="MultiPanelControl"/>,
/// it makes sense to always have it fill the
/// <see cref="MultiPanelControl"/>. Hence, this property
/// will always return <see cref="DockStyle.Fill"/>
/// regardless of how it is set.
/// </remarks>
public override DockStyle Dock
{
get
{
return base.Dock;
}
set
{
base.Dock = DockStyle.Fill;
}
}
/// <summary>
/// Only here so that it shows up in the property panel.
/// </summary>
public override string Text
{
get
{
return base.Text;
}
set
{
base.Text = value;
}
}
/// <summary>
/// Overriden from <see cref="Control"/>.
/// </summary>
/// <returns>
/// A <see cref="MultiPanelPage.ControlCollection"/>.
/// </returns>
protected override System.Windows.Forms.Control.ControlCollection CreateControlsInstance()
{
return new MultiPanelPage.ControlCollection(this);
}
#region Classes
public new class ControlCollection : Control.ControlCollection
{
/// <summary>
/// </summary>
public ControlCollection(Control owner)
: base(owner)
{
if (owner == null)
throw new ArgumentNullException("owner", "Tried to create a MultiPanelPage.ControlCollection with a null owner.");
MultiPanelPage c = owner as MultiPanelPage;
if (c == null)
throw new ArgumentException("Tried to create a MultiPanelPage.ControlCollection with a non-MultiPanelPage owner.", "owner");
}
/// <summary>
/// </summary>
public override void Add(Control value)
{
if (value == null)
throw new ArgumentNullException("value", "Tried to add a null value to the MultiPanelPage.ControlCollection.");
MultiPanelPage p = value as MultiPanelPage;
if (p != null)
throw new ArgumentException("Tried to add a MultiPanelPage control to the MultiPanelPage.ControlCollection.", "value");
base.Add(value);
}
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
My name is Liron Levi and I'm developing software for fun & profit for 15 years already.