diff --git a/ILSpy/ContextMenuEntry.cs b/ILSpy/ContextMenuEntry.cs index ba86b487d..1b50ab88a 100644 --- a/ILSpy/ContextMenuEntry.cs +++ b/ILSpy/ContextMenuEntry.cs @@ -65,7 +65,9 @@ namespace ICSharpCode.ILSpy { var provider = new ContextMenuProvider(treeView); treeView.ContextMenuOpening += provider.treeView_ContextMenuOpening; - treeView.ContextMenuClosing -= provider.treeView_ContextMenuClosing; + // Context menu is shown only when the ContextMenu property is not null before the + // ContextMenuOpening event handler is called. + treeView.ContextMenu = new ContextMenu(); } readonly SharpTreeView treeView; @@ -114,11 +116,9 @@ namespace ICSharpCode.ILSpy } if (menu.Items.Count > 0) treeView.ContextMenu = menu; - } - - void treeView_ContextMenuClosing(object sender, ContextMenuEventArgs e) - { - treeView.ContextMenu = null; + else + // hide the context menu. + e.Handled = true; } } }