バージョン

TabMoving イベント

MdiTab が移動される直前に発生するイベント。
シンタックス
'宣言
 
Public Event TabMoving As MdiTabMovingEventHandler
public event MdiTabMovingEventHandler TabMoving
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、MdiTabMovingEventArgs 型の引数を受け取りました。次の MdiTabMovingEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
Tab Infragistics.Win.UltraWinTabbedMdi.CancelableMdiTabEventArgsから継承されます。関連付けられた MdiTab を返します。
TabGroup 移動中のタブの移動先となる MdiTabGroup を返します。
TabIndex TabGroupTabs コレクション内の、MdiTab が挿入される位置のインデックスを返します。
解説

MdiTab が 1 つの位置から別の位置に移動される前に TabMoving イベントが起動されます。これには、そのタブを含む TabGroupTabs の中で移動する場合と、別の MdiTabGroup に移動する場合があります。エンドユーザーはタブをドラッグするか、右クリックのコンテキスト メニューを使用してタブを移動できます。ユーザーがタブをどこに移動できるかは多くの設定によって決まります。たとえば、タブの MdiTabSettingsResolved.AllowDrag やタブ グループの AllowDrop のほか、MaxTabGroupsAllowHorizontalTabGroupsAllowVerticalTabGroups などの設定が関係します。プラグラム上でタブを移動するには、MdiTab.MoveToGroup メソッド (タブを特定の MdiTabGroup に移動する)、または MoveToNewGroup(MdiTab) メソッド (タブを新しい MdiTabGroup に移動する) を使用します。また、タブの MdiTab.Reposition メソッドを使用するか、タブを含むグループの MoveAllTabs メソッドを使用してタブの位置を変更することもできます。

使用例
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinTabs
Imports Infragistics.Win.UltraWinTabbedMdi

Private Sub ultraTabbedMdiManager1_TabMoving(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinTabbedMdi.MdiTabMovingEventArgs) Handles ultraTabbedMdiManager1.TabMoving
    ' The 'TabMoving' event is invoked when a tab is about
    ' to be repositioned. It may be repositioned within a 
    ' group or moved to another group.

    ' The 'Cancel' parameter may be set to true to 
    ' prevent the move operation from occuring.
    '
    'e.Cancel = True

    Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
    sb.AppendFormat("TabMoving: Tab ['{0}'] ", e.Tab)

    ' The 'Tab' parameter returns the MdiTab object that is
    ' about to be repositioned. The 'TabGroup' parameter returns 
    ' the TabGroup that will contain the tab. The 'TabIndex'
    ' parameter returns the index at which the tab will be 
    ' positioned.

    If e.Tab.TabGroup Is e.TabGroup Then
        ' it is being repositioned within its containing group
        Dim index As Integer = e.Tab.TabGroup.Tabs.IndexOf(e.Tab)
        sb.AppendFormat("is being moved within its group from index {0} to {1}.", index, e.TabIndex)
    ElseIf e.TabGroup.Tabs.Count = 0 Then
        ' it is being repositioned to a new group
        sb.Append("is being moved to a new MdiTabGroup. ")
        sb.AppendFormat("The new group is located at index: {0}.", e.TabGroup.Manager.TabGroups.IndexOf(e.TabGroup))
    Else
        ' it is being repositioned in a different group
        sb.Append("is being moved to an existing tab group. ")
        sb.AppendFormat("The tab will be positioned at index {0}", e.TabIndex)
    End If

    System.Diagnostics.Debug.WriteLine(sb.ToString())
End Sub
using Infragistics.Win;
using Infragistics.Win.UltraWinTabs;
using Infragistics.Win.UltraWinTabbedMdi;

private void ultraTabbedMdiManager1_TabMoving(object sender, Infragistics.Win.UltraWinTabbedMdi.MdiTabMovingEventArgs e)
{
	// The 'TabMoving' event is invoked when a tab is about
	// to be repositioned. It may be repositioned within a 
	// group or moved to another group.
	
	// The 'Cancel' parameter may be set to true to 
	// prevent the move operation from occuring.
	//
	//e.Cancel = true;

	System.Text.StringBuilder sb = new System.Text.StringBuilder();
	sb.AppendFormat("TabMoving: Tab ['{0}'] ", e.Tab);

	// The 'Tab' parameter returns the MdiTab object that is
	// about to be repositioned. The 'TabGroup' parameter returns 
	// the TabGroup that will contain the tab. The 'TabIndex'
	// parameter returns the index at which the tab will be 
	// positioned.

	if (e.Tab.TabGroup == e.TabGroup)
	{
		// it is being repositioned within its containing group
		int index = e.Tab.TabGroup.Tabs.IndexOf(e.Tab);
		sb.AppendFormat("is being moved within its group from index {0} to {1}.", index, e.TabIndex);
	}
	else if (e.TabGroup.Tabs.Count == 0) 
	{
		// it is being repositioned to a new group
		sb.Append("is being moved to a new MdiTabGroup. ");
		sb.AppendFormat("The new group is located at index: {0}.", e.TabGroup.Manager.TabGroups.IndexOf(e.TabGroup));
	}
	else
	{
		// it is being repositioned in a different group
		sb.Append("is being moved to an existing tab group. ");
		sb.AppendFormat("The tab will be positioned at index {0}", e.TabIndex);
	}

	System.Diagnostics.Debug.WriteLine( sb.ToString() );
}
参照