Enumeration of the menu items displayed by the
UltraTabbedMdiManager
The following sample demonstrates how to use the InitializeContextMenu event.
For an overview of how to handle events in Visual Basic or Visual C#, see
Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see
Consuming Events in the
.NET Framework Developer's Guide.
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinTabs
Imports Infragistics.Win.UltraWinTabbedMdi
Private WithEvents customMenuItem As Infragistics.Win.IGControls.IGMenuItem = Nothing
Private Sub OnCustomMenuItem(ByVal sender As Object, ByVal e As EventArgs)
Dim mi As Infragistics.Win.IGControls.IGMenuItem = CType(sender, Infragistics.Win.IGControls.IGMenuItem)
' do some custom action...
End Sub
Private Sub ultraTabbedMdiManager1_InitializeContextMenu(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinTabbedMdi.MdiTabContextMenuEventArgs) Handles ultraTabbedMdiManager1.InitializeContextMenu
' Setting the Cancel parameter to true will prevent the
' context menu from being displayed.
'
'e.Cancel = True
' the 'ContextMenuType' indicates the reason for which
' the context menu is being displayed.
'
If e.ContextMenuType = MdiTabContextMenu.Default Then
' the 'Default' type indicates that the user right clicked
' on the tab
'
' the 'Tab' parameter indicates the tab for which
' the context menu is being displayed
'
If True Then
If Me.customMenuItem Is Nothing Then
' items added to the context menu should be
' of type IGMenuItem so they can be owner drawn
' using the appropriate style being used by
' the context menu
Me.customMenuItem = New Infragistics.Win.IGControls.IGMenuItem("Perform Custom Action")
AddHandler Me.customMenuItem.Click, New EventHandler(AddressOf Me.OnCustomMenuItem)
' the Image property of the IGMenuItem can
' be used to specify your own menu item. the
' image may be from a file or an integer
' indicating the index of the image in the
' tabbed mdi manager's ImageList
'Me.customMenuItem.Image = Image.FromFile("C:\menuItemImage.bmp")
Me.customMenuItem.Image = 0
End If
' the 'ContextMenu' parameter can be used to manipulate
' the default menu items or add your own
e.ContextMenu.MenuItems.Add(Me.customMenuItem)
End If
ElseIf e.ContextMenuType = MdiTabContextMenu.Reposition Then
' A ContextMenuType of Reposition is used when the user
' drags a tab into an area within the mdi client but
' not on a tab group control.
'
' Items in the specified 'ContextMenu' parameter may be
' manipulated.
'
Dim item As MenuItem
For Each item In e.ContextMenu.MenuItems
' the GetMenuType method can be used to determine
' the action associated with a particular menu
' item
Select Case e.GetMenuType(item)
Case MdiTabMenuItems.Cancel
Case MdiTabMenuItems.CancelSeparator
' we'll hide the cancel and cancel separator.
' Note: if all the menu items are hidden
' no context menu will be displayed
'
item.Visible = False
Exit For
End Select
Next
End If
End Sub
'Declaration
Public Enum MdiTabMenuItems
Inherits System.Enum
using Infragistics.Win;
using Infragistics.Win.UltraWinTabs;
using Infragistics.Win.UltraWinTabbedMdi;
private Infragistics.Win.IGControls.IGMenuItem customMenuItem = null;
private void OnCustomMenuItem( object sender, EventArgs e )
{
Infragistics.Win.IGControls.IGMenuItem mi = sender as Infragistics.Win.IGControls.IGMenuItem;
// do some custom action...
}
private void ultraTabbedMdiManager1_InitializeContextMenu(object sender, Infragistics.Win.UltraWinTabbedMdi.MdiTabContextMenuEventArgs e)
{
// Setting the Cancel parameter to true will prevent the
// context menu from being displayed.
//
//e.Cancel = true;
// the 'ContextMenuType' indicates the reason for which
// the context menu is being displayed.
//
if (e.ContextMenuType == MdiTabContextMenu.Default)
{
// the 'Default' type indicates that the user right clicked
// on the tab
//
// the 'Tab' parameter indicates the tab for which
// the context menu is being displayed
//
if (true) //e.Tab.Key == "Custom")
{
if (this.customMenuItem == null)
{
// items added to the context menu should be
// of type IGMenuItem so they can be owner drawn
// using the appropriate style being used by
// the context menu
this.customMenuItem = new Infragistics.Win.IGControls.IGMenuItem("Perform Custom Action");
this.customMenuItem.Click += new EventHandler(this.OnCustomMenuItem);
// the Image property of the IGMenuItem can
// be used to specify your own menu item. the
// image may be from a file or an integer
// indicating the index of the image in the
// tabbed mdi manager's ImageList
//this.customMenuItem.Image = Image.FromFile(@"C:\menuItemImage.bmp");
this.customMenuItem.Image = 0;
}
// the 'ContextMenu' parameter can be used to manipulate
// the default menu items or add your own
e.ContextMenu.MenuItems.Add(this.customMenuItem);
}
}
else if (e.ContextMenuType == MdiTabContextMenu.Reposition)
{
// A ContextMenuType of Reposition is used when the user
// drags a tab into an area within the mdi client but
// not on a tab group control.
//
// Items in the specified 'ContextMenu' parameter may be
// manipulated.
//
foreach(MenuItem item in e.ContextMenu.MenuItems)
{
// the GetMenuType method can be used to determine
// the action associated with a particular menu
// item
switch(e.GetMenuType(item))
{
case MdiTabMenuItems.Cancel:
case MdiTabMenuItems.CancelSeparator:
// we'll hide the cancel and cancel separator.
// Note: if all the menu items are hidden
// no context menu will be displayed
//
item.Visible = false;
break;
}
}
}
}
'Declaration
Public Enum MdiTabMenuItems
Inherits System.Enum
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2