Nevron .NET Vision
User Interface for .NET / User's Guide / Docking Panels / Docking Panels

In This Topic
    Docking Panels
    In This Topic

     Overview

    A generic docking panel.

     

    Nevron Docking Panels are predefined controls meant to provide true WYSIWYG docking functionality. The rich yet easy to use interface-based object model makes it very simple to provide your custom functionality and extend appearance.

     Class Hierarchy

     

     

     Functionality

    Nevron docking panels are fully programmable - all functionality can be achieved either visually or from code.

     

    The following table describes available public methods regarding docking functionality:

     

    Method Description
     Activate

    Activates the panel and gives it keyboard focus.

     Close

    Closes the panel and removes it from the docking framework.

     Display

    Shows a previously hidden panel. Use this method instead of changing panel's visibility directly.

     Float

    Makes the panel floating.

     Maximize Maximizes the panel within its parent zone.
     PerformDock

    Docks the panel to the specified INDockZone using the specified DockStyle at the desired index.

     Redock

    Toggles the current state of the panel - if the DockState is Floating the method restores a previously saved docked state, else the panel is made floating.

     RefreshCaption

    Invalidates and updates the caption area of the panel.

     Restore

    Restores the panel's SizeState to Normal.

     ShowContextMenu

    Displays a context sensitive menu for the panel at the specified screen location.

     UpdateCaption

    Performs re-measure and repaint of the caption area.

     

     Notifications

    Each docking panel fires lots of notifications which, if not handled, are bubbled up to the manager that the panel is attached to.

     

    The following table describes available notifications fired by a NDockingPanel control:

     

    Notification Description
     Activated Notifies that the panel has been activated and received keyboard focus.
     Activating Notifies that a panel is about to be activated.
     AfterFloat Notifies that a panel has been floated.
     AfterDock Notifies that a panel has been docked.
     BeforeDock Notifies that a panel is about to be docked. Cancelable.
     BeforeFloat Notifies that a panel is about to be floated. Cancelable.
     BeginDragging Notifies of a drag operation start upon a panel.
     CaptionButtonClicked Notifies that a caption button has been clicked. The event arguments contain information about the button id.
     Deactivated Notifies that a panel has been deactivated.
     Deactivating Notifies that a panel is about to be deactivated.
     Dragging Notifies that a panel is being dragged. Cancelable.
     EndDragging Notifies for an end of a drag operation upon a panel.

     

    All notifications are also available at the manager's level. Signature is the same except that all event names begin with "Panel" - for example Activated will be PanelActivated.
     Permissions

    NDockingPanel can be applied a set of permissions controlling its behaviour. Those permissions are exposed via panel's Permissions property.

     

    The following table describes these permissions:

    Permission Description
     AllowDrag

    Specifies whether the panel can be dragged.

     AllowFloat

    Specifies whether the panel can be floated.

     AllowHide

    Specifies whether the panel can be hidden (closed).

     AllowMaximize

    Specifies whether the panel can be maximized using the Maximize method.

    By default the context menu for a panel shows these permissions as commands. You can, however, specify whether Permissions are Editable to prevent any change.
     Tab Info
    Each NDockingPanel holds information about how it is visualized when displayed as a tab. This information is exposed by the NTabInfo property. Currently the tab info needed contains only ImageIndex and Text properties. You can, however, provide your own custom tab info and assign it to the panel.
    See Also