バージョン

UltraDockManager クラス

フォーム上のコントロールのドッキングおよびフローティングを管理するコンポーネント。
シンタックス
'宣言
 
Public Class UltraDockManager 
   Inherits Infragistics.Win.UltraComponentControlManagerBase
   Implements Infragistics.Shared.IUltraComponent, Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.IImageListProvider, Infragistics.Win.IUltraControl 
public class UltraDockManager : Infragistics.Win.UltraComponentControlManagerBase, Infragistics.Shared.IUltraComponent, Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.IImageListProvider, Infragistics.Win.IUltraControl  
解説

UltraDockManager はコントロールのピン固定を解除/非表示にする機能を含み、 Visual Studio .Net スタイル ドッキング機能を提供します。ピン固定が解除されたコントロールは、所有 DockAreaPane がドッキングされるコンテナーの側に基づいて、UnpinnedTabArea 内のタブ項目として表示します。

ドッキング機能は、DockAreaPaneDockableGroupPane および DockableControlPane インスタンスの 3 タイプのペインを介して制御されます。3 つすべては DockablePaneBase から派生します。DockableControlPanes は、特定のコントロールを直接含み管理するペインです。DockableGroupPanes は、2 またはそれ以上の DockablePaneBase インスタンスを含む/グループ化するペインです。これは、任意の DockableControlPanes とその他の DockableGroupPanes を含むことができることを意味します。DockAreaPanes は特化したグループ ペインのタイプです。これらのペインはその他すべてのペインのルート コンテナーで、コンテナーの任意の側にフローティングまたはドッキングできます。

すべてのペインに適用されるデフォルト設定は、DefaultPaneSettings プロパティを使用して設定できます。.これは、グループの DefaultPaneSettings を修正して、特定グループのすべての子でオーバーライドできます。これは、Settings によって個々のペイン レベルでさらに制御できます。特定のペインのSettingsをチェックして、次に DockablePaneBase.ParentDefaultPaneSettings をチェックし、最後にマネージャの DefaultPaneSettings をチェックすることによって、値は解決されます。

DockAreas プロパティは DockAreaPane インスタンスのコレクションを返します。各 DockAreaPane は、それが格納する DockablePaneBase インスタンスのコレクションを格納します。これらは、DockableControlPane インスタンスまたは DockableGroupPane インスタンスのいずれかにできます。

ControlPanes プロパティは、コンポーネントによって管理されるすべての DockableControlPane インスタンスを含むコレクションを返します。コレクション内のコントロール ペインは、インデックス、キー、または関連付けられた Control を介して参照できます。ペインを配置するための追加のメソッドには、PaneFromControlPaneFromKey、および PaneFromPosition(Int32,Int32,Boolean) が含まれます。

ActivePane プロパティは、現在にフォーカスを持っているコントロールを含む DockableControlPane インスタンスを返します。PaneActivatePaneDeactivate は、ActivePane が変わる時を決定するために使用できます。

UltraDockManager によって管理される情報は、load メソッドと save メソッドを使用して保存および回復できます。SOAP フォーマット (LoadFromXML(Stream) および SaveAsXML(Stream)) に、またはバイナリ間で (LoadFromBinary(Stream)SaveAsBinary(Stream)) コントロールの内容を保存するために個別のメソッドが存在します。

DesignTime: UltraDockManager はデザインタイム機能を完全にサポートします。ペインは、ランタイムの場合とまったく同じように、フローティング、ドッキングおよびドラッグできます。ペインはデザインタイムにピン固定を解除することも可能です。ペインを構成するためにプロジェクトを実行することなく、製品の外観に対する完全な WYSIWYG のコントロールを提供します。フォームでドッキングを解除されたコントロールを選択し、右クリックして、[コントロールのドック] を選択することによって、コントロールはドッキングできます。コントロールをグループ化する方法と場所を制御するためにダイアログが表示されます。すべての選択されたペインは、単一の DockAreaPane にグループ化されます。ペインのドックの解除は、ドッキングされたコントロールを右クリックして、[コントロールのドック] オプションのチェックを解除することで可能です。DockableControlPane からドッキングされたコントロールを切り取る、またはドラッグすることによって、ドッキングを解除することも可能です。追加のデザインタイム機能は、ドッキングされたコントロールで使用可能な追加のプロパティ タブです。ひとつまたは複数のドッキングされたコントロールが選択されると、[Visual Studio プロパティ] ウィンドウにプロパティ タブが表示されます。プロパティタブは、UltraDockManager に使用されるのと同じアイコンとともに表示します。このプロパティ タブには、ドックされたコントロールに関連付けられた DockableControlPane のプロパティを表示します。これは、特定のドッキングされたペインのプロパティを変更するために便利な方法を提供します (Text など)。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinDock

Private Sub btnInitializeManager_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInitializeManager.Click

    ' SupportThemes determines if the component will make use of
    ' the windows themes when the system themes are available and
    ' enabled. we will disable them to allow custom appearances
    ' to be set. if true, the system themed captions, buttons, etc
    ' will be used to render the component
    Me.ultraDockManager1.SupportThemes = False

    ' Allowdrop only works in a single threaded apartment
    ' when enabled, unpinned control panes will flyout when
    ' dragging (see System.Windows.Forms.Control.DoDragDrop for
    ' more on drag drop in .net) over the tabs of the unpinned
    ' panes and will also switch the tabs of docked and floating
    ' tab groups.
    Me.ultraDockManager1.AllowDrop = True

    ' Allow flyout animations - if disabled, the flyout window
    ' will not appear to slide out but will simply be positioned
    ' with the appropriate flyout size
    Me.ultraDockManager1.AnimationEnabled = True

    ' Add an appearance to the components appearances collection
    ' the appearance will be saved in any created layouts and
    ' may be shared by the various appearance properties
    Dim tabAreaAppearance As Infragistics.Win.Appearance = Me.ultraDockManager1.Appearances.Add("unpinnedTabArea")
    tabAreaAppearance.BackColor = SystemColors.InactiveCaption
    tabAreaAppearance.BorderColor = SystemColors.InactiveBorder

    ' Initialize the unpinned tab area appearance to use this appearance
    ' object we just created
    Me.ultraDockManager1.UnpinnedTabAreaAppearance = tabAreaAppearance

    ' Alter the appearance for the unpinned tab area - this is the 
    ' area around the edge of the hosting control (form or usercontrol) 
    ' that contains the tabs representing the unpinned control panes
    Me.ultraDockManager1.BorderStyleUnpinnedTabArea = UIElementBorderStyle.Etched

    ' Set the position for the caption buttons
    Me.ultraDockManager1.CaptionButtonAlignment = CaptionButtonAlignment.Near

    ' Soft popup when active
    Me.ultraDockManager1.CaptionButtonStyle = UIElementButtonStyle.PopupSoftBorderless

    ' Use VS style captions - this will affect the general appearance
    ' and colors of the captions as well as the images used for the 
    ' button images
    Me.ultraDockManager1.CaptionStyle = CaptionStyle.VSNet

    ' Use layered windows instead of a drag outline - layered windows
    ' makes use of the Opacity of the form which internally relies upon
    ' the LayeredWindow api's and therefore is only supported under
    ' windows 2000. if layered windows are not supported by the os on
    ' which the app is running, the drag outline will be rendered instead
    Me.ultraDockManager1.DragWindowStyle = DragWindowStyle.LayeredWindow

    ' The layered window should be red with a 30% opacity
    Me.ultraDockManager1.DragWindowColor = Color.Red
    Me.ultraDockManager1.DragWindowOpacity = 0.3D

    ' Set the imagelist that will be used by the component. the imagelist
    ' is used to access images when an appearance's 'Image' property is
    ' set to an integer and is assumed to be the index of the image
    ' in the associated imagelist
    Me.ultraDockManager1.ImageList = Me.imageList1

    ' We want to make sure that floating windows are currently displayed.
    ' this can be set to false to hide the floating windows without hiding
    ' all of the docked manager's panes. to hide all the panes, use the 
    ' 'Visible' property of the component.
    Me.ultraDockManager1.ShowFloatingWindows = True

    ' Prevent the dock manager from showing tooltips. by default, tooltips
    ' are displayed when the text for a tab or caption is not large enough
    ' to display the text.
    Me.ultraDockManager1.ShowToolTips = False

    ' Make the splitter bars appear a little different from the 
    ' default control color used for the panes so they are more
    ' noticable
    Me.ultraDockManager1.SplitterBarAppearance.BackColor = SystemColors.ControlLightLight

    ' Initialize the border style used for the caption area
    Me.ultraDockManager1.DefaultPaneSettings.BorderStyleCaption = UIElementBorderStyle.Solid

    ' The default width for a fixed width tab will be 75 pixels. this 
    ' will only affect the width of tabs' whose GroupSettingsResolved.TabSizing
    ' is set to 'TabSizing.Fixed'.
    Me.ultraDockManager1.DefaultPaneSettings.TabWidth = 75

End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinDock;
using System.Diagnostics;

private void btnInitializeManager_Click(object sender, System.EventArgs e)
{

	// SupportThemes determines if the component will make use of
	// the windows themes when the system themes are available and
	// enabled. we will disable them to allow custom appearances
	// to be set. if true, the system themed captions, buttons, etc
	// will be used to render the component
	this.ultraDockManager1.SupportThemes = false;

	// Allowdrop only works in a single threaded apartment
	// when enabled, unpinned control panes will flyout when
	// dragging (see System.Windows.Forms.Control.DoDragDrop for
	// more on drag drop in .net) over the tabs of the unpinned
	// panes and will also switch the tabs of docked and floating
	// tab groups.
	this.ultraDockManager1.AllowDrop = true;

	// Allow flyout animations - if disabled, the flyout window
	// will not appear to slide out but will simply be positioned
	// with the appropriate flyout size
	this.ultraDockManager1.AnimationEnabled = true;

	// Add an appearance to the components appearances collection
	// the appearance will be saved in any created layouts and
	// may be shared by the various appearance properties
	Infragistics.Win.Appearance tabAreaAppearance = this.ultraDockManager1.Appearances.Add( "unpinnedTabArea" );
	tabAreaAppearance.BackColor = SystemColors.InactiveCaption;
	tabAreaAppearance.BorderColor = SystemColors.InactiveBorder;

	// Initialize the unpinned tab area appearance to use this appearance
	// object we just created
	this.ultraDockManager1.UnpinnedTabAreaAppearance = tabAreaAppearance;

	// Alter the appearance for the unpinned tab area - this is the 
	// area around the edge of the hosting control (form or usercontrol) 
	// that contains the tabs representing the unpinned control panes
	this.ultraDockManager1.BorderStyleUnpinnedTabArea = UIElementBorderStyle.Etched;

	// Set the position for the caption buttons
	this.ultraDockManager1.CaptionButtonAlignment = CaptionButtonAlignment.Near;

	// Soft popup when active
	this.ultraDockManager1.CaptionButtonStyle = UIElementButtonStyle.PopupSoftBorderless;

	// Use VS style captions - this will affect the general appearance
	// and colors of the captions as well as the images used for the 
	// button images
	this.ultraDockManager1.CaptionStyle = CaptionStyle.VSNet;

	// Use layered windows instead of a drag outline - layered windows
	// makes use of the Opacity of the form which internally relies upon
	// the LayeredWindow api's and therefore is only supported under
	// windows 2000. if layered windows are not supported by the os on
	// which the app is running, the drag outline will be rendered instead
	this.ultraDockManager1.DragWindowStyle = DragWindowStyle.LayeredWindow;

	// The layered window should be red with a 30% opacity
	this.ultraDockManager1.DragWindowColor = Color.Red;
	this.ultraDockManager1.DragWindowOpacity = 0.3d;

	// Set the imagelist that will be used by the component. the imagelist
	// is used to access images when an appearance's 'Image' property is
	// set to an integer and is assumed to be the index of the image
	// in the associated imagelist
	this.ultraDockManager1.ImageList = this.imageList1;

	// We want to make sure that floating windows are currently displayed.
	// this can be set to false to hide the floating windows without hiding
	// all of the docked manager's panes. to hide all the panes, use the 
	// 'Visible' property of the component.
	this.ultraDockManager1.ShowFloatingWindows = true;

	// Prevent the dock manager from showing tooltips. by default, tooltips
	// are displayed when the text for a tab or caption is not large enough
	// to display the text.
	this.ultraDockManager1.ShowToolTips = false;

	// Make the splitter bars appear a little different from the 
	// default control color used for the panes so they are more
	// noticable
	this.ultraDockManager1.SplitterBarAppearance.BackColor = SystemColors.ControlLightLight;

	// Initialize the border style used for the caption area
	this.ultraDockManager1.DefaultPaneSettings.BorderStyleCaption = UIElementBorderStyle.Solid;

	// The default width for a fixed width tab will be 75 pixels. this 
	// will only affect the width of tabs' whose GroupSettingsResolved.TabSizing
	// is set to 'TabSizing.Fixed'.
	this.ultraDockManager1.DefaultPaneSettings.TabWidth = 75;

}
参照