バージョン

Unpin メソッド (DockableControlPane)

現在ドッキングされている親ペインからペインを取り外し、UnpinnedTabAreaにペインを表示します。
シンタックス
'宣言
 
Public Overrides Sub Unpin() 
public override void Unpin()
解説

ペインのピンを解除すると、その内容は使用するときだけ表示されます。使用しないときは、ペインはドッキング領域の端にあるタブ(UnpinnedTabArea)に縮小表示されます。ユーザーはタブをクリックするか、またはマウスをタブの上に置くことによって、ペインを表示できます。タブの上でマウスを移動すると、ペインがフライアウトします。タブをクリックすると、ペインがフライアウトし、アクティブになります。

このメソッドを呼び出すのと、ペインのキャプション領域内での「ピン解除」ボタンをクリックするのは同じことです。すでに表示されていない場合、UnpinnedTabAreaが表示されます。アクティブなパインをピン固定すると、フライアウトして表示されます。

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

Private Sub buttonFlyout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonFlyout.Click

    ' A control pane can be referenced by the index, key or
    ' control from the ControlPanes collection since that is a
    ' collection of all the DockableControlPane instances managed
    ' by the UltraDockManager.
    Dim pane As DockableControlPane = Me.ultraDockManager1.ControlPanes(Me.ultraDayView1)
    Me.ShowInFlyout(pane)

End Sub

Private Sub ShowInFlyout(ByVal pane As DockableControlPane)

    ' If its already showing and its the active pane, exit
    ' IsFlyoutPaneDisplayed is equivalent to comparing it
    If (pane.IsFlyoutPaneDisplayed AndAlso pane.IsActive) Then
        Return
    End If

    ' If its currently showing in a flyout window but
    ' its not the active pane, we'll active it and exit
    If (pane.IsFlyoutPaneDisplayed AndAlso Not pane.IsActive) Then
        pane.Activate()
        Return
    End If

    ' If the pane is closed, show it first
    If Not pane.IsVisible Then
        pane.Show()
    End If

    ' If another pane is flown out, hide it back first
    If Not pane.Manager.FlyoutPane Is Nothing Then
        pane.Manager.FlyIn()
    End If

    ' If the pane is still pinned...
    If (pane.Pinned) Then

        ' If its floating, let dock it and specify true
        ' for the 'maintainPreviousState' argument which
        ' indicates whether the pane (and in the case of a 
        ' group, its child panes) return to their previous
        ' docked locations or if they are docked together
        ' as they are currently floating. in this example,
        ' we'll just put it back to where it was. this is
        ' essentially the same as toggling its state
        ' i.e. pane.ToggleDockState()
        If (pane.DockedState = DockedState.Floating) Then
            pane.Dock(True)
        End If

        ' Unpin the pane - this should implicitly show it
        pane.Unpin()

        ' We'll explicitly activate it
        pane.Activate()
    Else
        ' If the pane is unpinned, reset the flyout size 
        pane.FlyoutSize = New Size(200, 200)

        ' If its already unpinned, we'll slide it out from
        ' the unpinned tab area and activate it
        pane.Flyout(True, True)
    End If

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

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

	// A control pane can be referenced by the index, key or
	// control from the ControlPanes collection since that is a
	// collection of all the DockableControlPane instances managed
	// by the UltraDockManager.
	DockableControlPane pane = this.ultraDockManager1.ControlPanes[this.ultraDayView1];
	this.ShowInFlyout( pane );

}

private void ShowInFlyout( DockableControlPane pane )
{

	// If its already showing and its the active pane, exit
	// IsFlyoutPaneDisplayed is equivalent to comparing it
	if (pane.IsFlyoutPaneDisplayed && pane.IsActive)
		return;

	// If its currently showing in a flyout window but
	// its not the active pane, we'll active it and exit
	if (pane.IsFlyoutPaneDisplayed && !pane.IsActive)
	{
		pane.Activate();
		return;
	}

    // If the pane is closed, show it first
    if (!pane.IsVisible)
    	pane.Show();

	// If another pane is flown out, hide it back first
	if (pane.Manager.FlyoutPane != null)
		pane.Manager.FlyIn();

	// If the pane is still pinned...
	if (pane.Pinned)
	{
		// if its floating, let dock it and specify true
		// for the 'maintainPreviousState' argument which
		// indicates whether the pane (and in the case of a 
		// group, its child panes) return to their previous
		// docked locations or if they are docked together
		// as they are currently floating. in this example,
		// we'll just put it back to where it was. this is
		// essentially the same as toggling its state
		// i.e. pane.ToggleDockState();
		if (pane.DockedState == DockedState.Floating)
			pane.Dock(true);

		// Unpin the pane - this should implicitly show it
		pane.Unpin();
		
		// We'll explicitly activate it
		pane.Activate();
	}
	else
	{
		// If the pane is unpinned, reset the flyout size 
		pane.FlyoutSize = new Size(200, 200);

		// If its already unpinned, we'll slide it out from
		// the unpinned tab area and activate it
		pane.Flyout(true, true);
	}

}
参照