Click or drag to resize

ShellBrowserShowContextMenu Method (Point, ContextMenuStrip)

Shows the shell context menu for the files contained in MultiObjects or the active object, adding the context menu entries contained in pContextMenuStrip

Namespace:  Jam.Shell
Assembly:  ShellBrowser (in ShellBrowser.dll) Version: 7.1
Syntax
public string ShowContextMenu(
	Point pPosition,
	ContextMenuStrip pContextMenuStrip
)

Parameters

pPosition
Type: System.DrawingPoint
Position on the screen at which the context menu should appear.
pContextMenuStrip
Type: System.Windows.FormsContextMenuStrip
ContextMenuStrip that should be merged with the shell context menu, or (ContextMenuStrip)null if there is no ContextMenuStrip to merge.

Return Value

Type: String
The shell command that was executed, an empty string if no shell command was executed.
Examples
Showing the context menu for the Windows folder and adding additional menu items from the passed ContextMenuStrip
C#
using (ShellBrowser lShellBrowser = new ShellBrowser(@"C:\Windows"))
{
    lShellBrowser.ShowContextMenu(new System.Drawing.Point(100, 100), lAdditionalMenuItems);
}
Examples
Shows the usage of the BeforeShellCommand event.
C#
using (ShellBrowser shellBrowser = new ShellBrowser(lFilePath))
{
    //The following code shows some variants to stop a context menu item from being executed.
    shellBrowser.BeforeShellCommand += (s, e) =>
    {
        if (e.Verb == ShellCommand.Open)
            e.Cancel = true;
        //this is equivalent to:
        if (e.Verb == ShellContextMenuCommand.Open)
            e.Cancel = true;
        //or
        if (ShellCommand.IsOpen(e.Verb))
            e.Cancel = true;

        //not all context menu commands have a "verb". If it is empty, then you can at least access the caption:
        if (ShellCommand.IsEmpty(e.Verb))
            System.Diagnostics.Debug.WriteLine(e.Verb.Caption);
    };
    shellBrowser.ShowContextMenu(Cursor.Position);
}
See Also