In my desktop app, there are some charts. The charts all have context menus, that show zoom options, "Save as...", and a couple of other things.

It is not clear to users that this menu exists. I'd like to hint to them that it exists. Or alternatively, show a separate UI control that duplicates the function of clicking the context menu trigger.

How can I best do this?

Here's a screenshot of a chart in my desktop app: enter image description here

Here's a screenshot showing the same chart, with the context menu showing: enter image description here

3 Answers 3


From the Windows Guidelines:

Context menu: Do the following conditions apply:

  • Is there a small set of contextual commands and options that apply to the selected object or window region?
  • Are these menu items redundant?
  • Are the target users familiar with context menus?

If so, consider providing context menus for the objects and window regions that need them.

Do you have information as to why they can't find it? And does the contextmenu contain functionality which is only available via that menu?

Commands in a contextmenu should also be available in your UI via actionbuttons/ menu's/Toolbars/etc. Things that are visible to the user so they can find it and click it. A contextmenu is not visible and if the user does not expect a menu, or is not familiar with the concept, they probably won't find the functionality 'hidden' in your contextmenu.

Do you use contextmenu's in other parts of your application? That could also cause the problem. If you don't use them anywhere else the users won't expect them to exist on a graph and probably won't bother to try.

I would not create extra hints to the contextmenu. Instead I would use some sort of menubutton or toolbar which contains the contextmenu functionality. And besides that keep the contextmenu itself as well.

You can also put a dropdown menu in the top corner of the graph. When you click it it gives you the same menu as the contextmenu. Below is an example from VS2012:

enter image description here


You are on the right track. You can do both.

Is the contextual menu redundant? If not, I would make all those functions still available without using the contextual menu. This is rather important.

Is there any reason why Zoom in/out/range functions are not available as buttons above the chart? If those functions are important, then they should be more prominent.

You can also make the existence of contextual menu more obvious by changing the cursor icon when it is pointing at items that have contextual menu.

  • 1
    Of the three answers, two say not to try and make the context menu more obvious! While I applaud the recommendations to add button bars, menus etc, I think the question is a good one and broadly relevant. Context menus have one great advantage which is context. The suggestion to change the cursor is valuable. I've never seen a cursor that says menu but I bet you could create one - for example a hand with a small square menu off the side. I also suspect you could use tooltips to indicate there are contextual options - tricky but worth brainstorming on. You could try auto-showing the menu once.
    – jelaplan
    Commented Oct 6, 2014 at 13:48

Put the items in main menus to the software. "Copy", "Save As..." and "Print" should be placed in "File", "Zoom In" and "Zoom Out" and "Auto Range" (probably) under "View".

Right click in your browser and see that it offers a context menu, all those menu items can be found in the browser's main menu.

You can expand this by placing smart buttons and menu entries in the work area of the software, but my recommendations are often the common denominator between how programs use their menus and context menus.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.