WinForms

Code Examples Upgrade Guide User Guide Demos Support Forums Download
  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class TabbedMDIManager

    Show / Hide Table of Contents

    Class TabbedMDIManager

    Represents the class that manages the tabbed mdi.

    Inheritance
    System.Object
    BaseComponent
    TabbedMDIManager
    TabbedGroupedMDIManager
    Implements
    IThemeProvider
    IVisualStyle
    System.IDisposable
    System.Windows.Forms.IMessageFilter
    IKeyboardProcHookClient
    ITabbedMDIManager
    Inherited Members
    BaseComponent.RaiseThemeChanged(Object, ThemeChangedEventArgs)
    BaseComponent.GetActiveThemeName()
    BaseComponent.ThemeName
    BaseComponent.CanOverrideStyle
    BaseComponent.IThemeProvider.BaseThemeName
    BaseComponent.CanApplyTheme
    BaseComponent.ControlName
    BaseComponent.IVisualStyle.VisualTheme
    BaseComponent.IsVisualStyleEnabled
    BaseComponent.ThemeNameChanged
    Namespace: Syncfusion.Windows.Forms.Tools
    Assembly: Syncfusion.Tools.Windows.dll
    Syntax
    public class TabbedMDIManager : BaseComponent, IThemeProvider, IVisualStyle, IDisposable, IMessageFilter, IKeyboardProcHookClient, ITabbedMDIManager
    Remarks

    The TabbedMDIManager enables a tabbed look and feel for the MDI children in its MDI client area popularized in Visual Studio.Net(r). This can be accomplished without having to make any changes to the MDI parent or the MDI child.

    It also supports horizontal and vertical tab groups and supports dragging the mdi children into and away from the groups.

    You can also merge items to the Context Menu provided by the TabbedMDIManager.

    Note that when you attach a TabbedMDIManager to your MDI parent, you should use the TabbedMDIManager's MdiChildren property instead of the MDI parent's MDIChildren property. This is because the tabs manager, introduces additional mdi children into the mdi client that are not part of your application. For the same reason you should also use the MdiListMenuItem property to auto-insert mdi child windows into a System.Windows.Forms.MenuItem instead of the System.Windows.Forms.MenuItem.MdiList property. This however, is not necessary when you use XPMenus.

    The TabbedMDIManager also automatically stores the user's preferences in the isolated storage with respect to the tab group alignment, number of tab groups and their sizes. Note that this persisted state is reapplied on the existing mdi children, the next time you call AttachToMdiContainer(Form). So, this pattern requires you to instantiate all the mdi children before you call AttachToMdiContainer in your app.

    Take a look at MdiListMenuItem for some sample codes that deals with issues like displaying the mdi children in the MDI Windows menu, etc.

    You can optionally, programmatically control the number of tab groups and which tab group a form gets associated with using the MoveActiveDocTo(TabHost), and other methods.

    The TabHost is the form that hosts each tab group. The MDITabPanel is the tab control that is used to draw the tab group.

    Examples

    Initializing the tabbed MDI layout is simple. In your Form Load handler:

    this.tabbedMDIManager = new TabbedMDIManager();
    this.tabbedMDIManager.AttachToMdiContainer(this);
    Me.tabbedMDIManager = New TabbedMDIManager()
    

    Me.tabbedMDIManager.AttachToMdiContainer(Me)

    Constructors

    TabbedMDIManager()

    Creates a new instance of the TabbedMDIManager.

    Declaration
    public TabbedMDIManager()

    TabbedMDIManager(IContainer)

    Declaration
    public TabbedMDIManager(IContainer container)
    Parameters
    Type Name Description
    System.ComponentModel.IContainer container

    Fields

    m_htChildForms

    Hash table of MDIChild forms and corresponding wrappers of SublassHWMD type, where MDIChild form is key and SublassHWMD instance is value.

    Declaration
    public Hashtable m_htChildForms
    Field Value
    Type Description
    System.Collections.Hashtable

    m_strNewGroupName

    Declaration
    protected string m_strNewGroupName
    Field Value
    Type Description
    System.String

    Properties

    ActiveTabBackColor

    Gets or sets the background color for selected tab.

    Declaration
    public Color ActiveTabBackColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    ActiveTabFont

    Gets or sets font used to draw the active tab header.

    Declaration
    public Font ActiveTabFont { get; set; }
    Property Value
    Type Description
    System.Drawing.Font

    ActiveTabForeColor

    Gets or sets the foreground color for selected tab header.

    Declaration
    public Color ActiveTabForeColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    AllowMDIClientLocking

    Specifies whether the MDI Client will be locked when certain tasks are performed.

    Declaration
    public bool AllowMDIClientLocking { get; set; }
    Property Value
    Type Description
    System.Boolean

    AllowTabGroupCustomizing

    Indicates whether the user can drag and drop tabs(child forms) from one tab group to another.

    Declaration
    public bool AllowTabGroupCustomizing { get; set; }
    Property Value
    Type Description
    System.Boolean

    True to allow the user to customize the tab group settings; false otherwise.

    Remarks

    If this property is true, the user will be allowed to create new tab groups and move tabs (child forms) between tab groups through the context menus and simple drag and drop.

    If false, the creation and sizes of the tab groups can only be set programmatically.

    This property also determines whether the tab group's settings are persisted for use across application instantiation. The state will be persisted only if this is set to true.

    AttachedTo

    Get or sets reference on form to which we attach a TabbedMDIManager.

    Declaration
    public Form AttachedTo { get; set; }
    Property Value
    Type Description
    System.Windows.Forms.Form

    CancelItem

    Returns the BarItem representing the "Cancel" menu item.

    Declaration
    protected virtual BarItem CancelItem { get; }
    Property Value
    Type Description
    BarItem

    CausesFormValidation

    Indicates whether the active child form will be validated before activating a new child form.

    Declaration
    public bool CausesFormValidation { get; set; }
    Property Value
    Type Description
    System.Boolean

    True to perform validation before switching the active child form; false otherwise. Default is false.

    Remarks

    The default mdi behavior is to let you switch child forms even if validation fails for the active form. This is the default behavior in the TabbedMDIManager as well.

    When this property is turned on and if validation failed on the active form, the user cannot click on a tab or use Ctrl+Tab keys to activate a new page. However, note that the active child form can still be changed programmatically.

    CloseButtonBackColor

    Gets or Sets, close button back color.

    Declaration
    public Color CloseButtonBackColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    CloseButtonColor

    Gets or sets the close button color.

    Declaration
    public Color CloseButtonColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    CloseButtonToolTip

    Gets or sets the tooltip text for the close button.

    Declaration
    public string CloseButtonToolTip { get; set; }
    Property Value
    Type Description
    System.String

    CloseButtonVisible

    Gets or sets the visibility of the close button.

    Declaration
    public bool CloseButtonVisible { get; set; }
    Property Value
    Type Description
    System.Boolean

    CloseItem

    Returns the BarItem representing the "Close" menu item.

    Declaration
    public virtual BarItem CloseItem { get; }
    Property Value
    Type Description
    BarItem

    CloseOnMiddleButtonClick

    Gets or sets a value indicating whether tabs should be closed on middle button click.

    Declaration
    public bool CloseOnMiddleButtonClick { get; set; }
    Property Value
    Type Description
    System.Boolean

    true if to be closed on middle button click; otherwise, false.

    ContextMenuItem

    Gets or sets the context menu that will be used along with the default tab context menu when the user right-clicks on a tab.

    Declaration
    public ParentBarItem ContextMenuItem { get; set; }
    Property Value
    Type Description
    ParentBarItem

    A ContextMenu instance.

    Remarks

    TabbedMDIManager uses our XP Menus classes for its context menu.

    Using this you can add additional menu items to the context menu that pops up when a user clicks on a tab.

    This menu will be merged with the default tab context menu. The items in the default tab menu have a merge order of 10. Using the appropriate merge order you can insert the custom items before or after the default items.

    Examples

    This example adds a custom context menu to the tabbed mdi manager.

    
    // Append menus to the standard mdi tab context menu
    ParentBarItem contextMenuItem = new ParentBarItem();
    BarItem newDocItem = new BarItem();
    newDocItem.Click += new System.EventHandler(this.addDoc1_Click);
    newDocItem.Text = "Custom Item: Insert New Doc";
    newDocItem.MergeOrder = 30;
    contextMenuItem.Items.Add(newDocItem);
    BarItem exitItem = new BarItem();
    exitItem.Click += new System.EventHandler(this.FileExit_Clicked);
    exitItem.Text = "CustomItem: Exit";
    exitItem.MergeOrder = 30;
    contextMenuItem.Items.Add(exitItem);
    contextMenuItem.BeginGroupAt(newDocItem);
    // Items in this ParentBarItem will be merged with the standard context menu ParentBarItem of the mdi tab.
    tabbedMDIManager.ContextMenuItem = contextMenuItem;
    
    ' Append menus to the standard mdi tab context menu
    Dim contextMenuItem As ParentBarItem
    contextMenuItem = New ParentBarItem()
    Dim newDocItem As BarItem
    newDocItem = New BarItem()
    AddHandler newDocItem.Click, New System.EventHandler(AddressOf addDoc1_Click)
    newDocItem.Text = "Custom Item: Insert New Doc"
    newDocItem.MergeOrder = 30
    contextMenuItem.Items.Add(newDocItem)
    Dim exitItem As BarItem
    exitItem = New BarItem()
    AddHandler exitItem.Click, New System.EventHandler(AddressOf FileExit_Clicked)
    exitItem.Text = "CustomItem: Exit"
    exitItem.MergeOrder = 30
    contextMenuItem.Items.Add(exitItem)
    contextMenuItem.BeginGroupAt(newDocItem)
    ' Items in this ParentBarItem will be merged with the standard context menu ParentBarItem of the mdi tab.
    tabbedMDIManager.ContextMenuItem = contextMenuItem

    Dragging

    Declaration
    protected bool Dragging { get; set; }
    Property Value
    Type Description
    System.Boolean

    DropDownButtonToolTip

    Gets or Sets the ToolTip text for the DropDownButton

    Declaration
    public string DropDownButtonToolTip { get; set; }
    Property Value
    Type Description
    System.String

    DropDownButtonVisible

    Gets or sets the visibility of the drop down button.

    Declaration
    public bool DropDownButtonVisible { get; set; }
    Property Value
    Type Description
    System.Boolean

    DropRect

    Declaration
    protected Rectangle DropRect { set; }
    Property Value
    Type Description
    System.Drawing.Rectangle

    Horizontal

    Indicates whether to align the tab groups horizontally or vertically.

    Declaration
    public bool Horizontal { get; set; }
    Property Value
    Type Description
    System.Boolean

    True indicates the tab groups should be aligned Horizontally; false indicates vertical alignment. Default is true.

    ID

    Gets or sets a unique ID to differentiate different instances of this class.

    Declaration
    public string ID { get; set; }
    Property Value
    Type Description
    System.String
    Remarks

    The runtime persisted information of this class will be scoped by this ID.

    ImageSize

    Gets or sets the size of the image in mdi tabs.

    Declaration
    public Size ImageSize { get; set; }
    Property Value
    Type Description
    System.Drawing.Size

    IsDisposing

    Declaration
    protected bool IsDisposing { get; }
    Property Value
    Type Description
    System.Boolean

    IsOffice2003Style

    Returns whether tabStyle is Office2003 style or not

    Declaration
    protected bool IsOffice2003Style { get; }
    Property Value
    Type Description
    System.Boolean

    MdiChildren

    Returns the mdi children of the associated mdi parent.

    Declaration
    public Form[] MdiChildren { get; }
    Property Value
    Type Description
    System.Windows.Forms.Form[]

    An array of forms containing the mdi children.

    Remarks

    Use this property instead of accessing the mdi parent's MDIChildren property to get a list of mdi children. This is necessary because the TabbedMDIManager inserts additional mdi children that your application need not and should not access/modify.

    Examples

    
    foreach(Form form in this.tabbedMDIManager.MdiChildren)
    {
    children += form.Text + "\r\n";
    }
    
    Dim form As Form
    For Each form In Me.tabbedMDIManager.MdiChildren
    ' Process form
    Next

    MdiClient

    Declaration
    protected virtual MdiClient MdiClient { get; set; }
    Property Value
    Type Description
    System.Windows.Forms.MdiClient

    MdiListMenuItem

    Gets or sets the menu item to which the MDI Children list should be added.

    Declaration
    public MenuItem MdiListMenuItem { get; set; }
    Property Value
    Type Description
    System.Windows.Forms.MenuItem

    The System.Windows.Forms.MenuItem to which the list should be added.

    Remarks

    Use this property instead of the System.Windows.Forms.MenuItem.MdiList property.

    This is necessary because the tabbed mdi manager inserts additional mdi children that your user should not and need not be aware about.

    Note that when you use XP Menus in Essential Tools as your mdi container's main-menu then this property need not be set. You should instead use the MdiListBarItem in XP Menus to represent the mdi child windows list. XP Menus framework automatically handles the case when the mdi child windows layout is managed by the TabbedMDIManager.

    Examples

    The following example shows how to initialize the TabbedMDIManager with a form that is an mdi container. It also sets a menu to be an mdi list (using the TabbedMDIManager.MdiListMenuItem property) and adds custom entries to the default tab context menu.

    
    public MainForm() {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent();
    tabbedMDIManager = new TabbedMDIManager();
    //tabbedMDIManager.UseIconsInTabs = false;
    //Add Window Menu
    this.miWindow = mainMenu.MenuItems.Add("Window");
    miWindow.MergeOrder = 10;
    miWindow.MenuItems.Add("Cascade", new System.EventHandler(this.WindowCascade_Clicked));
    miWindow.MenuItems.Add("Tile Horizontal", new System.EventHandler(this.WindowTileH_Clicked));
    miWindow.MenuItems.Add("Tile Vertical", new System.EventHandler(this.WindowTileV_Clicked));
    miWindow.MenuItems.Add("MDI Tabbed", new System.EventHandler(this.TabbedWindows_Clicked));
    // Let the TabbedMDIManager insert the Mdi Child windows list
    this.tabbedMDIManager.MdiListMenuItem = miWindow;

            // Append menus to the standard mdi tab context menu
            ParentBarItem contextMenuItem = new ParentBarItem();
            BarItem newDocItem = new BarItem();
            newDocItem.Click += new System.EventHandler(this.addDoc1_Click);
            newDocItem.Text = "Custom Item: Insert New Doc";
            newDocItem.MergeOrder = 30;
            contextMenuItem.Items.Add(newDocItem);
            BarItem exitItem = new BarItem();
            exitItem.Click += new System.EventHandler(this.FileExit_Clicked);
            exitItem.Text = "CustomItem: Exit";
            exitItem.MergeOrder = 30;
            contextMenuItem.Items.Add(exitItem);
            contextMenuItem.BeginGroupAt(newDocItem);
            // Items in this ParentBarItem will be merged with the standard context menu ParentBarItem of the mdi tab.
            tabbedMDIManager.ContextMenuItem = contextMenuItem;
       }
        // Convenient way to toggle TabbedMDI mode.
        private bool TabbedMDIOn
        {
            get    {    return this.tabWindowsOn;    }
            set
            {
                if(!(this.tabWindowsOn == value))
                {
                    this.tabWindowsOn = value;
                    if(this.tabWindowsOn)
                    {
                        this.tabbedMDIManager.AttachToMdiContainer(this);
                    }
                    else
                    {
                        this.tabbedMDIManager.DetachFromMdiContainer(this, false); // false to not invoke the Cascade mode after detaching.
                    }
                }
            }
        }
       //Add a document
       private void AddDocument(Form doc) {
           doc.MdiParent = this;
           doc.Show();
       }
        private void MainForm_Load(object sender, System.EventArgs e)
        {
            // Add 4 documents
            this.addDoc1_Click(this, EventArgs.Empty);
            this.addDoc1_Click(this, EventArgs.Empty);
            this.addDoc1_Click(this, EventArgs.Empty);
            this.addDoc1_Click(this, EventArgs.Empty);
            // Turn on MDI Tabbed Documents mode.
            // Call this after loading the mdi children to restore their previous state.
            this.TabbedMDIOn = true;
        }
        private int document1Count = 0 ;
        private void addDoc1_Click(object sender, System.EventArgs e)
        {
            document1Count++ ;
            Document1 doc = new Document1("DocumentOne " + document1Count.ToString());
            AddDocument(doc);
        }
       //Window->Cascade Menu item handler
       protected void WindowCascade_Clicked(object sender, System.EventArgs e) {
            this.TabbedMDIOn = false;
           this.LayoutMdi(MdiLayout.Cascade);
       }</code></pre></coderef><coderef file="\Tools\Samples\Tabbed MDI Package\TabbedMDI\vb\mainform.vb" name="Initializing TabbedMDIManager" lang="VB"><pre><code>
       Public Sub New()
           MyBase.New()
           &apos;
           &apos; Required for Windows Form Designer support
           &apos;
           InitializeComponent()
           tabbedMDIManager = New TabbedMDIManager()
           &apos;tabbedMDIManager.UseIconsInTabs = false;
           &apos;Add Window Menu
           Me.miWindow = mainMenu.MenuItems.Add(&quot;Window&quot;)
           miWindow.MergeOrder = 10
           miWindow.MenuItems.Add(&quot;Cascade&quot;, New System.EventHandler(AddressOf WindowCascade_Clicked))
           miWindow.MenuItems.Add(&quot;Tile Horizontal&quot;, New System.EventHandler(AddressOf WindowTileH_Clicked))
           miWindow.MenuItems.Add(&quot;Tile Vertical&quot;, New System.EventHandler(AddressOf WindowTileV_Clicked))
           miWindow.MenuItems.Add(&quot;MDI Tabbed&quot;, New System.EventHandler(AddressOf TabbedWindows_Clicked))
    
           &apos; Let the TabbedMDIManager insert the Mdi Child windows list
       Me.tabbedMDIManager.MdiListMenuItem = miWindow
    
           &apos; Append menus to the standard mdi tab context menu
           Dim contextMenuItem As ParentBarItem
           contextMenuItem = New ParentBarItem()
           Dim newDocItem As BarItem
           newDocItem = New BarItem()
           AddHandler newDocItem.Click, New System.EventHandler(AddressOf addDoc1_Click)
           newDocItem.Text = &quot;Custom Item: Insert New Doc&quot;
           newDocItem.MergeOrder = 30
           contextMenuItem.Items.Add(newDocItem)
           Dim exitItem As BarItem
           exitItem = New BarItem()
           AddHandler exitItem.Click, New System.EventHandler(AddressOf FileExit_Clicked)
           exitItem.Text = &quot;CustomItem: Exit&quot;
           exitItem.MergeOrder = 30
           contextMenuItem.Items.Add(exitItem)
           contextMenuItem.BeginGroupAt(newDocItem)
           &apos; Items in this ParentBarItem will be merged with the standard context menu ParentBarItem of the mdi tab.
           tabbedMDIManager.ContextMenuItem = contextMenuItem
       End Sub
       &apos; Convenient way to toggle TabbedMDI mode.
       Property TabbedMDIOn() As Boolean
           Get
               Return Me.tabWindowsOn
           End Get
           Set(ByVal Value As Boolean)
               If (Not (Me.tabWindowsOn = Value)) Then
                   Me.tabWindowsOn = Value
                   If Me.tabWindowsOn Then
                       Me.tabbedMDIManager.AttachToMdiContainer(Me)
                   Else
                       Me.tabbedMDIManager.DetachFromMdiContainer(Me, False)
                   End If
               End If
           End Set
       End Property
       Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
           MyBase.Dispose(disposing)
           If (Not (components) Is Nothing) Then
               components.Dispose()
           End If
       End Sub
       Private Sub AddDocument(ByVal doc As Form)
           doc.MdiParent = Me
           doc.Show()
       End Sub
       Private Sub MainForm_Load(ByVal sender As Object, ByVal e As EventArgs)
           &apos; Add 4 documents
           Me.addDoc1_Click(Me, EventArgs.Empty)
           Me.addDoc1_Click(Me, EventArgs.Empty)
           Me.addDoc1_Click(Me, EventArgs.Empty)
           Me.addDoc1_Click(Me, EventArgs.Empty)
           &apos; Turn on MDI Tabbed Documents mode.
           &apos; Call this after loading the mdi children to restore their previous state.
           Me.TabbedMDIOn = True
       End Sub
       Private Sub addDoc1_Click(ByVal sender As Object, ByVal e As EventArgs)
           document1Count = (document1Count + 1)
           Dim doc As Document1
           doc = New Document1((&quot;DocumentOne &quot; + document1Count.ToString))
           AddDocument(doc)
       End Sub
       &apos; Window->Cascade Menu item handler
       Protected Sub WindowCascade_Clicked(ByVal sender As Object, ByVal e As EventArgs)
           Me.TabbedMDIOn = False
           Me.LayoutMdi(MdiLayout.Cascade)
       End Sub</code></pre></coderef>
    

    MdiListToolStripItem

    Gets or sets the ToolStrip menu item to which MDI Children list should be displayed.

    Declaration
    public ToolStripMenuItem MdiListToolStripItem { get; set; }
    Property Value
    Type Description
    System.Windows.Forms.ToolStripMenuItem

    MdiParent

    Returns the current mdi parent form managed.

    Declaration
    public Form MdiParent { get; }
    Property Value
    Type Description
    System.Windows.Forms.Form

    MoveNextGroupItem

    Returns the BarItem representing the "Move Next" menu item.

    Declaration
    protected virtual BarItem MoveNextGroupItem { get; }
    Property Value
    Type Description
    BarItem

    MovePrevGroupItem

    Returns the BarItem representing the "Move Previous" menu item.

    Declaration
    protected virtual BarItem MovePrevGroupItem { get; }
    Property Value
    Type Description
    BarItem

    NeedUpdateHostedForm

    Gets or Sets update for HostedForm

    Declaration
    public bool NeedUpdateHostedForm { get; set; }
    Property Value
    Type Description
    System.Boolean

    NewHorzGroupItem

    Returns the BarItem representing the "New Horizontal Tab Group" menu item.

    Declaration
    protected virtual BarItem NewHorzGroupItem { get; }
    Property Value
    Type Description
    BarItem

    NewVertGroupItem

    Returns the BarItem representing the "New Vertical Tab Group" menu item.

    Declaration
    protected virtual BarItem NewVertGroupItem { get; }
    Property Value
    Type Description
    BarItem

    ShowCloseButton

    Gets or Sets, show close button for individual tabs or not.

    Declaration
    public bool ShowCloseButton { get; set; }
    Property Value
    Type Description
    System.Boolean

    ShowCloseButtonBackColor

    Gets or Sets, show close button back color.

    Declaration
    public bool ShowCloseButtonBackColor { get; set; }
    Property Value
    Type Description
    System.Boolean

    ShowCloseButtonForActiveTabOnly

    Gets or Sets, show close button for tab only when mouse is over it. This property will work only if ShowCloseButton property is set to true.

    Declaration
    public bool ShowCloseButtonForActiveTabOnly { get; set; }
    Property Value
    Type Description
    System.Boolean

    TabBackColor

    Gets or sets the background color for tabs header.

    Declaration
    public Color TabBackColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    TabFont

    Gets or sets font used to draw the tabs header.

    Declaration
    public Font TabFont { get; set; }
    Property Value
    Type Description
    System.Drawing.Font

    TabForeColor

    Gets or sets the foreground color for tabs header.

    Declaration
    public Color TabForeColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    TabGroupHosts

    Returns an array of TabHost instances that contains the tab control(see MDITabPanel) used to draw a tab group.

    Declaration
    public TabHost[] TabGroupHosts { get; }
    Property Value
    Type Description
    TabHost[]

    TabPanelBackColor

    Gets or sets the background color for tab panel in which arrange the tabs.

    Declaration
    public Color TabPanelBackColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    TabPanelBorderColor

    Gets or sets the color to draw the bottom line in tab panel.

    Declaration
    public Color TabPanelBorderColor { get; set; }
    Property Value
    Type Description
    System.Drawing.Color

    TabStyle

    Gets or sets the tabs to be painted as 2D, 3D(regular), WorkbookMode or other registered tab types.

    Declaration
    public virtual Type TabStyle { get; set; }
    Property Value
    Type Description
    System.Type

    ThemesEnabled

    Indicates whether the tabs should be drawn XP themed.

    Declaration
    public bool ThemesEnabled { get; set; }
    Property Value
    Type Description
    System.Boolean

    True to draw themed; false otherwise. Default is false.

    ThemeStyle

    Gets or sets the TabbedMDIManagerVisualStyle value used to customize the appearance of the TabbedMDIManager.

    Declaration
    public TabbedMDIManagerVisualStyle ThemeStyle { get; set; }
    Property Value
    Type Description
    TabbedMDIManagerVisualStyle
    Remarks

    This ThemeStyle settings will be applied only when the VisualStyleBased theme has been applied to the control.

    UseIconsInTabs

    Indicates whether to use Icons in tabs.

    Declaration
    public bool UseIconsInTabs { get; set; }
    Property Value
    Type Description
    System.Boolean

    True to use icons; false otherwise. Default is true.

    Remarks

    When true, the Tabs will get the Icon from the mdi child form's Icon property.

    Visible

    Indicates whether the control is displayed.

    Declaration
    public bool Visible { get; set; }
    Property Value
    Type Description
    System.Boolean

    Methods

    AddMdiChild(Form, TabHost)

    Adds a form to a tab host.

    Declaration
    protected virtual void AddMdiChild(Form mdiChild, TabHost tabHost)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    The form to add.

    TabHost tabHost

    The destination TabHost.

    AddMDIChildToTabbedMDI(Form)

    Declaration
    protected void AddMDIChildToTabbedMDI(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    AdjustMdiChildSizes()

    Declaration
    [Obsolete]
    protected void AdjustMdiChildSizes()

    AdjustTabGroupWeightsEqually()

    Divides layout panels and allocates space for Tab hosts equaly.

    Declaration
    public void AdjustTabGroupWeightsEqually()

    ApplyDeserializedState(TabGroupsStateInfo)

    Applies deserialized state to the control.

    Declaration
    public virtual void ApplyDeserializedState(TabGroupsStateInfo tabGroupStateInfo)
    Parameters
    Type Name Description
    TabGroupsStateInfo tabGroupStateInfo

    AttachMdiListItems(MenuItem)

    Declaration
    protected virtual void AttachMdiListItems(MenuItem mdiListItem)
    Parameters
    Type Name Description
    System.Windows.Forms.MenuItem mdiListItem

    AttachMdiListMenuItem(MenuItem)

    Declaration
    protected virtual void AttachMdiListMenuItem(MenuItem mdiListMenuItem)
    Parameters
    Type Name Description
    System.Windows.Forms.MenuItem mdiListMenuItem

    AttachMdiListToolStripItem(ToolStripMenuItem)

    Declaration
    [Obsolete("This method will be removed soon, use MdiListToolStripItem property.")]
    protected virtual void AttachMdiListToolStripItem(ToolStripMenuItem mdiListItem)
    Parameters
    Type Name Description
    System.Windows.Forms.ToolStripMenuItem mdiListItem

    AttachToMdiContainer(Form)

    Attaches a mdi parent to the TabbedMDIManager.

    Declaration
    public virtual void AttachToMdiContainer(Form pMdiContainer)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMdiContainer
    Remarks

    This will attach the TabbedMDIManager to the mdi parent and invoke tabbed look-and-feel in the mdi client area. You should typically do this in the mdi container's constructor or in the Form Load event.

    This method will also call LoadTabGroupStates() to load and apply the saved tab group states on the loaded child forms. Note that this loaded state will not be cached to be applied on child forms that might be loaded in a later stage.

    BalanceTDILayout()

    Declaration
    public void BalanceTDILayout()

    BalanceTDILayout(Int32)

    This function helps, to maintain equal size for loaded TabGroup.

    Declaration
    public void BalanceTDILayout(int Row)
    Parameters
    Type Name Description
    System.Int32 Row

    Specifies no. of Row to be displayed, greater than 2

    BeginUpdate(Boolean)

    Suspends MDIClient window and MDI container redrawing.

    Declaration
    public virtual void BeginUpdate(bool bLockContainer)
    Parameters
    Type Name Description
    System.Boolean bLockContainer

    Indicates if MDI container should be suspended for redrawing.

    BeginUpdateMDIChild(Form)

    Suspends redrawing specified form.

    Declaration
    public virtual void BeginUpdateMDIChild(Form pMDIChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMDIChild

    CancelOperation()

    Cancels a pending operation. Dragging the splitters, for example.

    Declaration
    public bool CancelOperation()
    Returns
    Type Description
    System.Boolean

    True if successful; false if nothing was cancelled.

    CancelSplitterOperation()

    Cancels the pending splitter operation.

    Declaration
    public bool CancelSplitterOperation()
    Returns
    Type Description
    System.Boolean

    True if successful; false if nothing was canceled.

    CanCreateNewHorizontalGroup()

    Indicates whether a new horizontal tab group can be created, off the active child form.

    Declaration
    public bool CanCreateNewHorizontalGroup()
    Returns
    Type Description
    System.Boolean

    CanCreateNewHorizontalGroup(MDITabPanel)

    Declaration
    protected virtual bool CanCreateNewHorizontalGroup(MDITabPanel tabPanel)
    Parameters
    Type Name Description
    MDITabPanel tabPanel
    Returns
    Type Description
    System.Boolean

    CanCreateNewVerticalGroup()

    Indicates whether a new vertical tab group can be created, off the active child form.

    Declaration
    public bool CanCreateNewVerticalGroup()
    Returns
    Type Description
    System.Boolean

    CanCreateNewVerticalGroup(MDITabPanel)

    Declaration
    protected virtual bool CanCreateNewVerticalGroup(MDITabPanel tabPanel)
    Parameters
    Type Name Description
    MDITabPanel tabPanel
    Returns
    Type Description
    System.Boolean

    CanMoveToNextTabGroup()

    Indicates whether the current active form can be moved to the next tab group.

    Declaration
    public bool CanMoveToNextTabGroup()
    Returns
    Type Description
    System.Boolean

    True if possible; false otherwise.

    CanMoveToNextTabGroup(MDITabPanel)

    Declaration
    protected virtual bool CanMoveToNextTabGroup(MDITabPanel tabPanel)
    Parameters
    Type Name Description
    MDITabPanel tabPanel
    Returns
    Type Description
    System.Boolean

    CanMoveToPreviousTabGroup()

    Indicates whether the current active form can be moved to the previous tab group.

    Declaration
    public bool CanMoveToPreviousTabGroup()
    Returns
    Type Description
    System.Boolean

    True if possible; false otherwise.

    CanMoveToPreviousTabGroup(MDITabPanel)

    Declaration
    protected virtual bool CanMoveToPreviousTabGroup(MDITabPanel tabPanel)
    Parameters
    Type Name Description
    MDITabPanel tabPanel
    Returns
    Type Description
    System.Boolean

    ClearSavedTabGroupState()

    Clears the state of the saved tab group.

    Declaration
    public void ClearSavedTabGroupState()

    ContextMenu_BeforePopup(Object, CancelEventArgs)

    Declaration
    protected virtual void ContextMenu_BeforePopup(object sender, CancelEventArgs e)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.CancelEventArgs e

    ContextMenu_Cancel(Object, EventArgs)

    The event handler for the "Cancel" menu item.

    Declaration
    protected void ContextMenu_Cancel(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_Close(Object, EventArgs)

    The event handler for the "Close" menu item.

    Declaration
    protected virtual void ContextMenu_Close(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_MoveNext(Object, EventArgs)

    The event handler for the "Move Next" menu item.

    Declaration
    protected void ContextMenu_MoveNext(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_MovePrev(Object, EventArgs)

    The event handler for the "Move Previous" menu item.

    Declaration
    protected void ContextMenu_MovePrev(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_NewHorz(Object, EventArgs)

    The event handler for the "New Horizontal Tab Group" menu item.

    Declaration
    protected void ContextMenu_NewHorz(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_NewVert(Object, EventArgs)

    The event handler for the "New Vertical Tab Group" menu item.

    Declaration
    protected void ContextMenu_NewVert(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The event source.

    System.EventArgs e

    The event data.

    ContextMenu_Popup(Object, EventArgs)

    Declaration
    protected virtual void ContextMenu_Popup(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender
    System.EventArgs e

    ContextMenu_PopupClosed(Object, EventArgs)

    Declaration
    protected virtual void ContextMenu_PopupClosed(object sender, EventArgs e)
    Parameters
    Type Name Description
    System.Object sender
    System.EventArgs e

    CreateMDITabPanel()

    Creates and returns an MDITabPanel.

    Declaration
    protected virtual MDITabPanel CreateMDITabPanel()
    Returns
    Type Description
    MDITabPanel

    A reference to an MDITabPanel control.

    Remarks

    MDITabPanel is a TabControlAdv derived class used internally by TabbedMDIManager. You can use this instance just as you would any TabControlAdv instance.

    You can customize the tab being drawn by providing a custom MDITabPanel derived tab or modifying the properties of the MDITabPanel instance returned by the base class.

    CreateNewHorizontalGroup()

    Creates a new horizontal tab group, moving the active child form to that group.

    Declaration
    public void CreateNewHorizontalGroup()

    CreateNewHorizontalGroup(String)

    Creates a new horizontal tab group, moving the active child form to that group.

    Declaration
    public void CreateNewHorizontalGroup(string groupName)
    Parameters
    Type Name Description
    System.String groupName

    Tab group name.

    CreateNewVerticalGroup()

    Creates a new vertical tab group, moving the active mdi child to that group.

    Declaration
    public void CreateNewVerticalGroup()

    CreateNewVerticalGroup(String)

    Creates a new vertical tab group, moving the active mdi child to that group.

    Declaration
    public void CreateNewVerticalGroup(string groupName)
    Parameters
    Type Name Description
    System.String groupName

    Tab group name.

    CreateTabHost()

    Creates a TabHost to host a tab group (in a tab control).

    Declaration
    protected virtual TabHost CreateTabHost()
    Returns
    Type Description
    TabHost

    A new TabHost instance.

    DetachFromMdiContainer(Form, Boolean)

    Detaches an mdi parent from the TabbedMDIManager.

    Declaration
    public virtual void DetachFromMdiContainer(Form mdiContainer, bool setCascade)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiContainer

    The mdi parent to be detached that was previously attached through AttachToMdiContainer.

    System.Boolean setCascade

    True indicates that it will layout mdi children in cascade mode after detaching itself; false otherwise.

    Remarks

    This will remove all references to the mdi parent and resume default mdi behavior.

    This method will also save the current tab group state in Isolated Storage.

    DetachFromMdiContainer(Form, Boolean, Boolean)

    Detaches an mdi parent from the TabbedMDIManager.

    Declaration
    public virtual void DetachFromMdiContainer(Form pMdiContainer, bool setCascade, bool bLockMDIClient)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMdiContainer
    System.Boolean setCascade

    True indicates that it will layout mdi children in cascade mode after detaching itself; false otherwise.

    System.Boolean bLockMDIClient
    Remarks

    This will remove all references to the mdi parent and resume default mdi behavior.

    This method will also save the current tab group state in Isolated Storage.

    DetachMdiListMenuItem(MenuItem)

    Declaration
    protected virtual void DetachMdiListMenuItem(MenuItem mdiListMenuItem)
    Parameters
    Type Name Description
    System.Windows.Forms.MenuItem mdiListMenuItem

    Dispose(Boolean)

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    System.Boolean disposing

    EndUpdate(Form, MdiClient, Boolean)

    Redraws MDIClient window and MDI container.

    Declaration
    public virtual void EndUpdate(Form pMDIContainer, MdiClient pMDIClient, bool bLockContainer)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMDIContainer

    MDI container

    System.Windows.Forms.MdiClient pMDIClient

    MDI client.

    System.Boolean bLockContainer

    Indicates if MDI container should be redrawn.

    EndUpdateAsync(Boolean)

    Asynchronously redraws MDIClient window and MDI container.

    Declaration
    public virtual void EndUpdateAsync(bool bLockContainer)
    Parameters
    Type Name Description
    System.Boolean bLockContainer

    EndUpdateMDIChild(Form)

    Resumes redrawing for the specified form.

    Declaration
    public virtual void EndUpdateMDIChild(Form pMDIChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMDIChild

    EndUpdateMDIChildAsync(Form)

    Asynchronously resumes redrawing for the specified form.

    Declaration
    public virtual void EndUpdateMDIChildAsync(Form pMDIChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMDIChild

    Finalize()

    Declaration
    protected override void Finalize()

    GetControlName(String)

    Helps to apply the ControlName settings in control

    Declaration
    public override string GetControlName(string controlName)
    Parameters
    Type Name Description
    System.String controlName
    Returns
    Type Description
    System.String
    Overrides
    BaseComponent.GetControlName(String)

    GetManagerForForm(Form)

    Declaration
    public static TabbedMDIManager GetManagerForForm(Form form)
    Parameters
    Type Name Description
    System.Windows.Forms.Form form
    Returns
    Type Description
    TabbedMDIManager

    GetMdiChildFromMdiListMenuItem(MenuItem)

    Declaration
    protected virtual Form GetMdiChildFromMdiListMenuItem(MenuItem item)
    Parameters
    Type Name Description
    System.Windows.Forms.MenuItem item
    Returns
    Type Description
    System.Windows.Forms.Form

    GetMdiChildrenForMenu()

    Declaration
    protected virtual Form[] GetMdiChildrenForMenu()
    Returns
    Type Description
    System.Windows.Forms.Form[]

    GetTabHostFromForm(Form)

    Returns the TabHost given a mdi child form.

    Declaration
    public TabHost GetTabHostFromForm(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    A mdi child form instance.

    Returns
    Type Description
    TabHost

    A TabHost that hosts the mdi child Form. Will return null if the mdi child form is not found.

    GetTabHostFromTab(MDITabPanel)

    Declaration
    protected TabHost GetTabHostFromTab(MDITabPanel tab)
    Parameters
    Type Name Description
    MDITabPanel tab
    Returns
    Type Description
    TabHost

    GetTabHostUnder(MDITabPanel, Point)

    Declaration
    protected virtual Form GetTabHostUnder(MDITabPanel tabsHostSource, Point mousePos)
    Parameters
    Type Name Description
    MDITabPanel tabsHostSource
    System.Drawing.Point mousePos
    Returns
    Type Description
    System.Windows.Forms.Form

    GetTabPageAdvFromForm(Form)

    Returns the TabPageAdv given a mdi child form.

    Declaration
    public TabPageAdv GetTabPageAdvFromForm(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    A mdi child Form instance.

    Returns
    Type Description
    TabPageAdv

    A TabPageAdv that hosts the mdi child form. Will return null if the mdi child form is not found or not associated with a tab page.

    GetTooltip(Form)

    Returns the tooltip specified for the form.

    Declaration
    public string GetTooltip(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    The form whose tooltip is required.

    Returns
    Type Description
    System.String

    The corresponding tooltip string.

    Remarks

    This method returns the tooltip text set using a previous call to SetTooltip(Form, String).

    InitMDITabPanel(MDITabPanel)

    Initializes the tab control representing a tab group.

    Declaration
    protected virtual void InitMDITabPanel(MDITabPanel tabPanel)
    Parameters
    Type Name Description
    MDITabPanel tabPanel

    A TabControlAdv derived instance.

    InitTabHost(TabHost, Int32)

    Initializes the TabHost as soon as it gets created.

    Declaration
    protected virtual void InitTabHost(TabHost tabHost, int tabGroupIndex)
    Parameters
    Type Name Description
    TabHost tabHost

    The TabHost to initialize.

    System.Int32 tabGroupIndex

    The tab group index which this tab host will represent.

    IsValidTabHost(TabHost)

    Indicates whether the TabHost specified is still in use in the TabbedMDIManager.

    Declaration
    public bool IsValidTabHost(TabHost tabHost)
    Parameters
    Type Name Description
    TabHost tabHost

    The TabHost to validate.

    Returns
    Type Description
    System.Boolean

    True if the TabHost is still in use; false otherwise.

    LoadTabGroupStates()

    Reads the tab group states from the Isolated Storage.

    Declaration
    public bool LoadTabGroupStates()
    Returns
    Type Description
    System.Boolean

    TRUE if the read is successful.

    Remarks

    This method loads and applies the saved tab group states on the currently loaded child forms. Note that the loaded state information is not cached to be applied to child forms that might be created later.

    This method is automatically called by the AttachToMdiContainer(Form) method. You could optionally call this method or it's other overloaded variants to load the tab group states at a different time.

    LoadTabGroupStates(AppStateSerializer)

    Reads the previously serialized tab group states.

    Declaration
    public virtual bool LoadTabGroupStates(AppStateSerializer serializer)
    Parameters
    Type Name Description
    AppStateSerializer serializer

    A reference to the AppStateSerializer instance.

    Returns
    Type Description
    System.Boolean

    TRUE if the load is successful.

    Remarks

    Reads the tab groups information from the specified persistent store and applies the new state. This method has been provided only to allow a higher degree of control over the serialization process. Note that the LoadTabGroupStates() and SaveTabGroupStates() methods get called automatically when you enable/disable tabbed mdi.

    You could also cosider using the other overloaded variant LoadTabGroupStates() that loads the information from the Isolated Storage.

    LoadTabGroupStates(SerializeMode, Object)

    Reads the previously serialized tab group states.

    Declaration
    [Obsolete("This method will be removed in a future version. Please use the more flexible LoadTabGroupStates(AppStateSerializer) variant, instead.", false)]
    public virtual bool LoadTabGroupStates(SerializeMode mode, object persistpath)
    Parameters
    Type Name Description
    SerializeMode mode

    A SerializeMode value.

    System.Object persistpath

    The name of the IsolatedStorage/INI/XML file or the registry key containing the persisted tab group information.

    Returns
    Type Description
    System.Boolean

    TRUE if the load is successful.

    Remarks

    Reads the tab groups information from the specified persistent store and applies the new state. This method has been provided only to allow a higher degree of control over the serialization process. For normal state storage and retrieval it is advisable to use the SaveTabGroupStates() and LoadTabGroupStates() methods.

    This method will be removed in a future version. Please use the more flexible LoadTabGroupStates(AppStateSerializer) variant, instead.

    LockHostFormUpdate()

    Locks the Host Form redrawing.

    Declaration
    public void LockHostFormUpdate()

    LockLayout(Boolean)

    Declaration
    protected virtual void LockLayout(bool bLockContainer)
    Parameters
    Type Name Description
    System.Boolean bLockContainer

    LockMDIChild(Form)

    Declaration
    protected void LockMDIChild(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    LockMdiClient()

    Declaration
    protected void LockMdiClient()

    LockMDIClientUpdate()

    Locks the MDI client redrawing.(MDI Client alone)

    Declaration
    public void LockMDIClientUpdate()

    LockWindowTemporarily(Control, Int32)

    Declaration
    [Obsolete]
    protected virtual void LockWindowTemporarily(Control control, int interval)
    Parameters
    Type Name Description
    System.Windows.Forms.Control control
    System.Int32 interval

    MakeSingleTabGroup()

    Consolidates the child forms in different tab groups into a single tab group.

    Declaration
    public void MakeSingleTabGroup()

    MaximizeTabGroup(TabHost)

    Call this method to make the tab group hosted in the specified TabHost occupy the maximum space.

    Declaration
    public void MaximizeTabGroup(TabHost tabGroupHost)
    Parameters
    Type Name Description
    TabHost tabGroupHost

    A TabHost instance.

    MoveActiveDocTo(TabHost)

    Moves the active form to the specified tab group.

    Declaration
    public void MoveActiveDocTo(TabHost pTabHost)
    Parameters
    Type Name Description
    TabHost pTabHost
    Remarks

    Use the TabGroupHosts property to get the current list of TabHosts.

    See Also
    MoveDocTo(Form, TabHost)

    MoveActiveDocTo(TabHost, Form)

    Moves the active form to the specified tab group.

    Declaration
    public void MoveActiveDocTo(TabHost pTabHost, Form pFrmChild)
    Parameters
    Type Name Description
    TabHost pTabHost
    System.Windows.Forms.Form pFrmChild

    A MDIChild form.

    MoveActiveDocToAdjTabHost(Boolean)

    Declaration
    protected void MoveActiveDocToAdjTabHost(bool bNext)
    Parameters
    Type Name Description
    System.Boolean bNext

    MoveActiveTabToNewGroup(Boolean)

    Declaration
    protected void MoveActiveTabToNewGroup(bool pHorizontal)
    Parameters
    Type Name Description
    System.Boolean pHorizontal

    MoveDocTo(Form, TabHost)

    Moves a child form to the specified tab group.

    Declaration
    public void MoveDocTo(Form form, TabHost tabHost)
    Parameters
    Type Name Description
    System.Windows.Forms.Form form

    The child Form.

    TabHost tabHost

    The TabHost representing the tab group.

    Remarks

    Use the TabGroupHosts property to get the current list of TabHosts.

    See Also
    MoveActiveDocTo(TabHost)

    MoveDocumentTo(String, Int32)

    Declaration
    protected virtual bool MoveDocumentTo(string tabName, int groupIndex)
    Parameters
    Type Name Description
    System.String tabName
    System.Int32 groupIndex
    Returns
    Type Description
    System.Boolean

    MoveToNextTabGroup()

    Moves the current active mdi child to its next tab group, if any.

    Declaration
    public void MoveToNextTabGroup()

    MoveToPreviousTabGroup()

    Moves the current active mdi child to its previous tab group, if any.

    Declaration
    public void MoveToPreviousTabGroup()

    OnActiveTabToNewGroupMoved(Form, TabHost, TabHost)

    Overridden

    Declaration
    protected virtual void OnActiveTabToNewGroupMoved(Form mdiChild, TabHost prevHost, TabHost newHost)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild
    TabHost prevHost
    TabHost newHost

    OnBeforeMDIChildAdded(Control)

    Declaration
    protected virtual bool OnBeforeMDIChildAdded(Control ctrl)
    Parameters
    Type Name Description
    System.Windows.Forms.Control ctrl
    Returns
    Type Description
    System.Boolean

    OnCanApplyThemeChanged(Boolean)

    Helps to apply the CanApplyTheme settings in control

    Declaration
    public override void OnCanApplyThemeChanged(bool canApplyTheme)
    Parameters
    Type Name Description
    System.Boolean canApplyTheme
    Overrides
    BaseComponent.OnCanApplyThemeChanged(Boolean)

    OnCanOverrideStyleChanged(Boolean)

    Helps to apply the CanOverriderStyle settings in control

    Declaration
    public override void OnCanOverrideStyleChanged(bool canOverriderStyle)
    Parameters
    Type Name Description
    System.Boolean canOverriderStyle
    Overrides
    BaseComponent.OnCanOverrideStyleChanged(Boolean)

    OnDropDownPopup(DropDownPopupEventArgs)

    Fires BeforeDropDownPopup.

    Declaration
    protected virtual void OnDropDownPopup(DropDownPopupEventArgs e)
    Parameters
    Type Name Description
    DropDownPopupEventArgs e

    OnImageSizeChanged()

    Raised when size of the image in the mdi tabs is changed.

    Declaration
    protected virtual void OnImageSizeChanged()

    OnMdiChildRemoved(Form)

    Called when an mdi child form gets removed.

    Declaration
    protected virtual void OnMdiChildRemoved(Form form)
    Parameters
    Type Name Description
    System.Windows.Forms.Form form

    The mdi child Form.

    OnNeedUpdateHostedFormChanged()

    Overridden

    Declaration
    protected virtual void OnNeedUpdateHostedFormChanged()

    OnShowCloseButtonChanged()

    Called when ShowCloseButton property is changed

    Declaration
    protected virtual void OnShowCloseButtonChanged()

    OnTabControlAdded(TabbedMDITabControlEventArgs)

    Fires the TabControlAdded event.

    Declaration
    protected virtual void OnTabControlAdded(TabbedMDITabControlEventArgs e)
    Parameters
    Type Name Description
    TabbedMDITabControlEventArgs e

    The event args.

    OnTabControlAdding(TabbedMDITabControlEventArgs)

    Fires the TabControlAdding event.

    Declaration
    protected virtual void OnTabControlAdding(TabbedMDITabControlEventArgs e)
    Parameters
    Type Name Description
    TabbedMDITabControlEventArgs e

    The event args.

    OnTabControlRemoving(TabbedMDITabControlEventArgs)

    Fires the OnTabControlRemoving(TabbedMDITabControlEventArgs) event.

    Declaration
    protected virtual void OnTabControlRemoving(TabbedMDITabControlEventArgs e)
    Parameters
    Type Name Description
    TabbedMDITabControlEventArgs e

    The event args.

    OnThemeNameChanged(String)

    Helps to apply the ThemeName settings in control

    Declaration
    public override void OnThemeNameChanged(string themeName)
    Parameters
    Type Name Description
    System.String themeName

    ThemeName

    Overrides
    BaseComponent.OnThemeNameChanged(String)

    OnUnLockingMdiClient(EventArgs)

    Declaration
    protected virtual void OnUnLockingMdiClient(EventArgs e)
    Parameters
    Type Name Description
    System.EventArgs e

    PostInitTabHost(TabHost)

    Declaration
    protected virtual void PostInitTabHost(TabHost tabHost)
    Parameters
    Type Name Description
    TabHost tabHost

    PreFilterMessage(ref Message)

    This method is almost a stub, needed only for mouse hook subscribing.

    Declaration
    public virtual bool PreFilterMessage(ref Message m)
    Parameters
    Type Name Description
    System.Windows.Forms.Message m
    Returns
    Type Description
    System.Boolean

    ProcessCmdKey(Keys, Boolean)

    Checks if command key can be processed.

    Declaration
    public virtual bool ProcessCmdKey(Keys keyData, bool isSysKeyDown)
    Parameters
    Type Name Description
    System.Windows.Forms.Keys keyData
    System.Boolean isSysKeyDown
    Returns
    Type Description
    System.Boolean

    ProcessCmdKey(ref Message, Keys)

    This will be called after the controls and forms are done with processing the ProcessCmdKey.

    Declaration
    public virtual bool ProcessCmdKey(ref Message msg, Keys keyData)
    Parameters
    Type Name Description
    System.Windows.Forms.Message msg
    System.Windows.Forms.Keys keyData
    Returns
    Type Description
    System.Boolean

    RemoveActiveDocFromTabHost(ref Boolean)

    Declaration
    protected Form RemoveActiveDocFromTabHost(ref bool tabsHostRemoved)
    Parameters
    Type Name Description
    System.Boolean tabsHostRemoved
    Returns
    Type Description
    System.Windows.Forms.Form

    RemoveDocFromTabHost(TabHost, Form, ref Boolean)

    Declaration
    protected void RemoveDocFromTabHost(TabHost tabHost, Form mdiChild, ref bool tabHostRemoved)
    Parameters
    Type Name Description
    TabHost tabHost
    System.Windows.Forms.Form mdiChild
    System.Boolean tabHostRemoved

    RemoveMdiListItems(MenuItem)

    Declaration
    protected virtual void RemoveMdiListItems(MenuItem mdiListItem)
    Parameters
    Type Name Description
    System.Windows.Forms.MenuItem mdiListItem

    RemoveTabHost(TabHost)

    Removes the Tab host.

    Declaration
    public virtual void RemoveTabHost(TabHost tabHost)
    Parameters
    Type Name Description
    TabHost tabHost

    ResumeLayout()

    Resets the layout to it's default value.

    Declaration
    public void ResumeLayout()

    SaveTabGroupStates()

    Saves the current tab group states to Isolated Storage.

    Declaration
    public void SaveTabGroupStates()
    Remarks

    Calling this method saves the current tab group states in Isolated Storage.

    This method is also called by the DetachFromMdiContainer(Form, Boolean, Boolean) method to save the tag group states while disabling tabbed mdi. You could call this or any of it's overloaded variants to explicitly save the state at any specific time.

    SaveTabGroupStates(AppStateSerializer)

    Saves the current tab groups information to the specified persistence medium.

    Declaration
    public virtual void SaveTabGroupStates(AppStateSerializer serializer)
    Parameters
    Type Name Description
    AppStateSerializer serializer

    A reference to the AppStateSerializer instance.

    Remarks

    Writes the mdi tab groups information to the persistence medium. This method has been provided only to allow a higher degree of control over the serialization process. Note that the LoadTabGroupStates() and SaveTabGroupStates() methods get called automatically when you enable/disable tabbed mdi.

    You could also consider calling the other overloaded variant SaveTabGroupStates(AppStateSerializer) that stores the tab group informtion in Isolated Storage.

    SaveTabGroupStates(SerializeMode, Object)

    Saves the current tab groups information to the specified persistence medium.

    Declaration
    [Obsolete("This method will be removed in a future version. Please use the more flexible SaveTabGroupStates(AppStateSerializer) variant, instead.", false)]
    public virtual void SaveTabGroupStates(SerializeMode mode, object persistpath)
    Parameters
    Type Name Description
    SerializeMode mode

    A SerializeMode value.

    System.Object persistpath

    Specifies the name of an IsolatedStorage/INI/XML file or a registry key to
    which the persistence information will be written.

    Remarks

    Writes the mdi tab groups information to the persistence medium specified by the mode parameter and at the path specified by the persistpath object. This method has been provided only to allow a higher degree of control over the serialization process. For normal state storage and retrieval it is advisable to use the SaveTabGroupStates() and LoadTabGroupStates() methods.

    This method will be removed in a future version. Please use the more flexible SaveTabGroupStates(AppStateSerializer) variant, instead.

    SetSuperToolTip(Form, ToolTipInfo)

    Declaration
    public void SetSuperToolTip(Form mdichild, ToolTipInfo value)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdichild
    ToolTipInfo value

    SetTabGroupWeights()

    Divides layout panels and allocates space for Tab hosts according to default coefficient of each panel.

    Declaration
    public void SetTabGroupWeights()

    SetTabGroupWeights(Int32[])

    Lets you specify the weights for the tab groups when allocating the available space between them.

    Declaration
    [Obsolete]
    public virtual void SetTabGroupWeights(int[] weights)
    Parameters
    Type Name Description
    System.Int32[] weights

    An array of integers.

    Remarks

    An integer array with the same count as the current number of tab groups. The sum of these weights should be greater than 1.

    Use MaximizeTabGroup(TabHost) to take a tab group take all the available area.

    SetTooltip(Form, String)

    Sets the tooltip for the tab associated with the specified Form.

    Declaration
    public void SetTooltip(Form mdiChild, string tooltip)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    The mdi child Form.

    System.String tooltip

    The tooltip string.

    ShowCloseButtonForForm(Form, Boolean)

    Declaration
    public void ShowCloseButtonForForm(Form form, bool showCloseButtonForForm)
    Parameters
    Type Name Description
    System.Windows.Forms.Form form
    System.Boolean showCloseButtonForForm

    SuspendLayout()

    Suspends the layout.

    Declaration
    public void SuspendLayout()

    Tab_MouseMove(Object, MouseEventArgs)

    Declaration
    protected virtual void Tab_MouseMove(object sender, MouseEventArgs e)
    Parameters
    Type Name Description
    System.Object sender
    System.Windows.Forms.MouseEventArgs e

    Tab_MouseUp(Object, MouseEventArgs)

    Declaration
    protected virtual void Tab_MouseUp(object sender, MouseEventArgs e)
    Parameters
    Type Name Description
    System.Object sender
    System.Windows.Forms.MouseEventArgs e

    UnlockHostFormUpdate()

    UnLocks the Host Form redrawing.

    Declaration
    public void UnlockHostFormUpdate()

    UnlockLayout(Form, MdiClient, Boolean)

    Resumes layout for the MDIContainer and MDICLient.

    Declaration
    public virtual void UnlockLayout(Form pMDIContainer, MdiClient pMDIClient, bool bLockContainer)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pMDIContainer

    Specified MDIContainer.

    System.Windows.Forms.MdiClient pMDIClient

    Specified MDIClient.

    System.Boolean bLockContainer

    Indicates whether resume layout will perform for MDIContainer. True - resume layout will be performed.

    UnlockLayoutAsync(Boolean)

    Resumes layout for the MDIContainer and MDICLient.

    Declaration
    public virtual void UnlockLayoutAsync(bool bLockContainer)
    Parameters
    Type Name Description
    System.Boolean bLockContainer

    Indicates whether resume layout will perform for MDIContainer. True - resume layout will be performed.

    UnlockMDIChild(Form)

    Declaration
    protected void UnlockMDIChild(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    UnlockMDIChildAsync(Form)

    Declaration
    protected void UnlockMDIChildAsync(Form mdiChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiChild

    UnLockMdiClient(Form, MdiClient)

    Declaration
    protected void UnLockMdiClient(Form mdiContainer, MdiClient mdiClient)
    Parameters
    Type Name Description
    System.Windows.Forms.Form mdiContainer
    System.Windows.Forms.MdiClient mdiClient

    UnLockMdiClientAsync()

    Declaration
    protected void UnLockMdiClientAsync()

    UnLockMDIClientUpdate()

    Unlocks the MDI Client redrawing.

    Declaration
    public void UnLockMDIClientUpdate()

    UnLockWindows()

    Declaration
    [Obsolete]
    protected virtual void UnLockWindows()

    UpdateActiveTabHost()

    Updates the active tab host.

    Declaration
    public void UpdateActiveTabHost()

    UpdateActiveTabHost(Form)

    Declaration
    public void UpdateActiveTabHost(Form pFrmChild)
    Parameters
    Type Name Description
    System.Windows.Forms.Form pFrmChild

    UpdateMdiList()

    Declaration
    protected virtual void UpdateMdiList()

    ValidateFocusedChildForm()

    Validates the active child form.

    Declaration
    protected virtual bool ValidateFocusedChildForm()
    Returns
    Type Description
    System.Boolean

    Events

    BeforeDropDownPopup

    Fired before drop down popup menu.

    Declaration
    public event DropDownPopupEventHandler BeforeDropDownPopup
    Event Type
    Type Description
    DropDownPopupEventHandler

    BeforeMDIChildAdded

    Occurs before a MDI child is added to the TabbedMDIManager.

    Declaration
    public event MDIChildAddCancelEventHandler BeforeMDIChildAdded
    Event Type
    Type Description
    MDIChildAddCancelEventHandler

    TabControlAdded

    Fired to let you configure the tab control's appearance and behavior.

    Declaration
    public event TabbedMDITabControlEventHandler TabControlAdded
    Event Type
    Type Description
    TabbedMDITabControlEventHandler
    Remarks

    If you have to provide a derived MDITabPanel instance to the TabbedMDIManager, use the TabControlAdding event.

    TabControlAdding

    Fired to let you provide a custom tab control.

    Declaration
    public event TabbedMDITabControlEventHandler TabControlAdding
    Event Type
    Type Description
    TabbedMDITabControlEventHandler
    Remarks

    The TabControl property of the event args will be null when this event is called. You can provide a custom MDITabPanel derived class in this event's args. If you just have to set some properties on the tab control, then listen to the TabControlAdded event which will be called before creating the tab control.

    TabControlRemoved

    Fired after a tab control in a tab group was removed.

    Declaration
    public event TabbedMDITabControlEventHandler TabControlRemoved
    Event Type
    Type Description
    TabbedMDITabControlEventHandler
    Remarks

    You would typically listen to this event and unsubscribe to the tab control events that you previously subscribed to in the TabControlAdded handler.

    UnLockingMdiClient

    Fired to notify that the locked mdi client area is being unlocked.

    Declaration
    public event EventHandler UnLockingMdiClient
    Event Type
    Type Description
    System.EventHandler
    Remarks

    Sometimes the TabbedMDIManager locks(prevents painting) the mdi client window for a short period to avoid flicker as the tabbed mdi gets laid out.

    This happens in this version when a new mdi child form gets added to the mdi parent form and gets shown. The mdi client gets locked when the mdi child gets added and gets unlocked a while (100 ms) after the mdi child gets activated. This avoids unseemly flicker when the new mdi child gets activated.

    Due to this locking you may not be able to perform certain operations in the System.Windows.Forms.Form.MdiChildActivate event like setting the focus on a child control in the new mdi child form (since the Form is locked along with the mdi client). In fact, calling the child form's System.Windows.Forms.Control.CanFocus property will return false when the mdi client is being locked. You should instead perform such operation in this event handler.

    Explicit Interface Implementations

    IKeyboardProcHookClient.KeyboardHookProc(Int32, Int32)

    Declaration
    bool IKeyboardProcHookClient.KeyboardHookProc(int wParam, int lParam)
    Parameters
    Type Name Description
    System.Int32 wParam
    System.Int32 lParam
    Returns
    Type Description
    System.Boolean

    ITabbedMDIManager.GetMDIParent()

    Declaration
    Form ITabbedMDIManager.GetMDIParent()
    Returns
    Type Description
    System.Windows.Forms.Form

    ITabbedMDIManager.ProcessCmdKey(ref Message, Keys)

    Declaration
    bool ITabbedMDIManager.ProcessCmdKey(ref Message msg, Keys keyData)
    Parameters
    Type Name Description
    System.Windows.Forms.Message msg
    System.Windows.Forms.Keys keyData
    Returns
    Type Description
    System.Boolean

    Implements

    IThemeProvider
    IVisualStyle
    System.IDisposable
    System.Windows.Forms.IMessageFilter
    IKeyboardProcHookClient
    ITabbedMDIManager
    Back to top Generated by DocFX
    Copyright © 2001 - 2023 Syncfusion Inc. All Rights Reserved