'宣言 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 内のタブ項目として表示します。
ドッキング機能は、DockAreaPane、DockableGroupPane および DockableControlPane インスタンスの 3 タイプのペインを介して制御されます。3 つすべては DockablePaneBase から派生します。DockableControlPanes は、特定のコントロールを直接含み管理するペインです。DockableGroupPanes は、2 またはそれ以上の DockablePaneBase インスタンスを含む/グループ化するペインです。これは、任意の DockableControlPanes とその他の DockableGroupPanes を含むことができることを意味します。DockAreaPanes は特化したグループ ペインのタイプです。これらのペインはその他すべてのペインのルート コンテナーで、コンテナーの任意の側にフローティングまたはドッキングできます。
すべてのペインに適用されるデフォルト設定は、DefaultPaneSettings プロパティを使用して設定できます。.これは、グループの DefaultPaneSettings を修正して、特定グループのすべての子でオーバーライドできます。これは、Settings によって個々のペイン レベルでさらに制御できます。特定のペインのSettingsをチェックして、次に DockablePaneBase.Parent の DefaultPaneSettings をチェックし、最後にマネージャの DefaultPaneSettings をチェックすることによって、値は解決されます。
DockAreas プロパティは DockAreaPane インスタンスのコレクションを返します。各 DockAreaPane は、それが格納する DockablePaneBase インスタンスのコレクションを格納します。これらは、DockableControlPane インスタンスまたは DockableGroupPane インスタンスのいずれかにできます。
ControlPanes プロパティは、コンポーネントによって管理されるすべての DockableControlPane インスタンスを含むコレクションを返します。コレクション内のコントロール ペインは、インデックス、キー、または関連付けられた Control を介して参照できます。ペインを配置するための追加のメソッドには、PaneFromControl、PaneFromKey、および PaneFromPosition(Int32,Int32,Boolean) が含まれます。
ActivePane プロパティは、現在にフォーカスを持っているコントロールを含む DockableControlPane インスタンスを返します。PaneActivate と PaneDeactivate は、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; }