'宣言 Public Delegate Sub NavigationContextMenuInitializingEventHandler( _ ByVal sender As Object, _ ByVal e As CancelableNavigationContextMenuInitializingEventArgs _ )
public delegate void NavigationContextMenuInitializingEventHandler( object sender, CancelableNavigationContextMenuInitializingEventArgs e )
Imports System.Diagnostics Imports Infragistics.Win Imports Infragistics.Win.UltraWinExplorerBar Dim WithEvents myMenuItem As Infragistics.Win.IGControls.IGMenuItem Private Sub UltraExplorerBar1_NavigationContextMenuInitializing(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinExplorerBar.CancelableNavigationContextMenuInitializingEventArgs) Handles UltraExplorerBar1.NavigationContextMenuInitializing ' Reset the NavigationContextMenu so that any changes we made to it during prior firings of the ' NavigationContextMenuInitializing event will be undone and the 'stock' version of it will be displayed. Dim resetContextMenu As ContextMenu = e.ResetMenu() ' Add a custom menuitem to the NavigationContextMenu. Create an Infragistics.Win.IGControls.IGMenuItem instead ' of a Standard Windows Forms MenuItem so that the menuitem is drawn in the correct visual style (Office2003, ' Office2000 etc.) Me.myMenuItem = New Infragistics.Win.IGControls.IGMenuItem("My MenuItem") resetContextMenu.MenuItems.Add(myMenuItem) ' Disable the 'Open In New Window' stock menu item. The ContextMenuItemType enumeration will allow us to ' identify this by comparing the menuitem type of each menuitem against the OpenInNewWindow value if the ' ContextMenuItemType enumeration. Dim menuItem As MenuItem For Each menuItem In resetContextMenu.MenuItems If e.GetMenuItemType(menuItem) = Infragistics.Win.UltraWinExplorerBar.ContextMenuItemType.OpenInNewWindow Then menuItem.Enabled = False Exit For End If Next ' To ensure that context menu we just reset and modified is the one that gets displayed, assign it to the ' NavigationContextMenu property of the event args. e.NavigationContextMenu = resetContextMenu End Sub Private Sub MyCustomMenuItemClick(ByVal sender As Object, ByVal e As EventArgs) Handles myMenuItem.Click ' Perform custom menuitem click processing here. End Sub
using System.Diagnostics; using Infragistics.Win; using Infragistics.Win.UltraWinExplorerBar; private void ultraExplorerBar1_NavigationContextMenuInitializing(object sender, Infragistics.Win.UltraWinExplorerBar.CancelableNavigationContextMenuInitializingEventArgs e) { // Reset the NavigationContextMenu so that any changes we made to it during prior firings of the // NavigationContextMenuInitializing event will be undone and the 'stock' version of it will be displayed. ContextMenu resetContextMenu = e.ResetMenu(); // Add a custom menuitem to the NavigationContextMenu. Create an Infragistics.Win.IGControls.IGMenuItem instead // of a Standard Windows Forms MenuItem so that the menuitem is drawn in the correct visual style (Office2003, // Office2000 etc.) Infragistics.Win.IGControls.IGMenuItem myMenuItem = new Infragistics.Win.IGControls.IGMenuItem("My MenuItem"); myMenuItem.Click += new EventHandler(this.MyCustomMenuItemClick); resetContextMenu.MenuItems.Add(myMenuItem); // Disable the 'Open In New Window' stock menu item. The ContextMenuItemType enumeration will allow us to // identify this by comparing the menuitem type of each menuitem against the OpenInNewWindow value if the // ContextMenuItemType enumeration. foreach(MenuItem menuitem in resetContextMenu.MenuItems) { if (e.GetMenuItemType(menuitem) == Infragistics.Win.UltraWinExplorerBar.ContextMenuItemType.OpenInNewWindow) { menuitem.Enabled = false; break; } } // To ensure that context menu we just reset and modified is the one that gets displayed, assign it to the // NavigationContextMenu property of the event args. e.NavigationContextMenu = resetContextMenu; } private void MyCustomMenuItemClick(object sender, EventArgs e) { // Perform custom menuitem click processing here. }