Custom Right Click (Context) Menu on the Taskbar for your Program

Thursday, November 13th, 2008 | Permalink

Sometimes it may be required in your program that you need to alter the right click menu, otherwise known as context menu. With this following code snippit, you can completley yet simply change the entire menu to your own liking…


The theroy behind this code is that when a user right clicks on the program item, a ‘message’ is sent by the Windows UI to your program. Normally your program handles this message itself however we can ‘override’ this, and place our own actions there instead.

Private Const WMessageRightClickTaskbar As Integer = &H313
 
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
 
        ' Check if the intercepted 'message' is a 'right click on taskbar'
        If m.Msg = WMessageRightClickTaskbar Then
 
            ' It is possible to change the action that occurs.
            ' In this case, a context menu is shown at the cursor position
            ContextMenuStrip1.Show(Cursor.Position)
 
            ' If you change the above event to something other
            ' than a context menu, remove the 'Exit Sub' below
            ' to restore the context menu and make it appear also.
            Exit Sub
 
        End If
 
        ' If it isnt, then handle it normally
        MyBase.WndProc(m)
 
End Sub
private const int WMessageRightClickTaskbar = 0x313;
 
protected override void WndProc(ref Message m)
{
 
    // Check if the intercepted 'message' is a 'right click on taskbar'
    if (m.Msg == WMessageRightClickTaskbar) {
 
        // It is possible to change the action that occurs.
        // In this case, a context menu is shown at the cursor position
        ContextMenuStrip1.Show(Cursor.Position);
 
        // If you change the above event to something other
        // than a context menu, remove the 'return' below
        // to restore the context menu and make it appear also.
        return;
 
       }
 
// If it isnt, then handle it normally
base.WndProc(m);
 
}

Powered by WordPress
Theme by Shadow Productions, Inspiration from Roy Tanck's Tranquility
Posts (RSS) and Comments (RSS) | Nearly Valid XHTML
34 queries. 0.498 seconds.