I had a bit of a play with this and came up with the following idea...
On your notificationIcon, do not set the
ContextMenuStrip
property (i.e. you won't get the default behaviour)
Then try putting the code to show your context menu in the
MouseUp
event on the notificationIcon. For example ...
private void notificationIcon_MouseUp(object sender, MouseEventArgs e)
{
ContextMenuStrip cm = new ContextMenus().Create();
cm.Show(Cursor.Position.X, Cursor.Position.Y);
}
You might have to fiddle with it a bit if you want different menus depending on which button was used.
As to the bit where the menu name is showing in the task bar - make sure you don't have the option "Always show all icons and notifications on the taskbar" ticked in Control Panel\All Control Panel Items\Notification Area Icons