I'm developing a Winforms application which has been running for years with an explorer view (TreeView left, screen right). I means that:

  • All the screens have an hierarchy organization
  • All the nodes on TreeView have one and only one screen related.
  • A screen gets activated when a node on treeview gets selected.

One of the advantages is that the user has an ordered structure and one of the inconveniences is that with hundreds of screens the user gets confused. The most important thing is not show all at time but that the user can find what they need easily. I'm talking about handling multiple screens not showing multiple screens.

I see other options: use classical menus, use tabs or a mix of everything.

Any advice for a good way to show a lot of screens to user in a user-friendly way?

Disclaimer: This is a migrated question from StackOverflow site.

2 Answers 2


If the nodes are fixed (i.e. there will always be the same 200; no user-created ones), using tabs or an accordian menu for categories and lists within those categories might be better, since the individual buttons are all in the same place every time. More generally exploit muscle memory -- studies have shown that people remember things by position. Tree views seriously fail at this.

As suggested in the StackOverfloew question, a favorites menu and a search box (think Vista/Win7 start menu, perhaps with the "shortcut codes" mentioned in the accepted answer at SO) would be good ideas.

Since you already have a two-pane layout, remember your existing users. Switching to a menu-based layout might be a good choice -- don't keep a bad UI just because people have learned it (Lotus Notes, are you reading this?), but don't change it arbitrarily. Only hide the navigation behind menus if users won't be navigating a lot; if users frequently switch pages keep the two-pane layout.


Search should most definitely be very prominent here.

Since I've migrated to Vista and Win7, I hardly enter the "programs" menu anymore - I just search.

While favorites is a good addition, I think the stronger one is Recent or even better Most Used.

Not only is the list built automatically (no effort for the user), but it's also based on actual usage, not what the user thinks they're gonna use. Last but not least - it's even faster than searching for a program (win) or screen (your software).

Any simple algorithm should do here, plus several additions:

  • Allow the users to control the length of the list
  • Allow users to "pin", in effect making something a favorite
  • If they insist, they can favorite a screen, even if it wasn't detected

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.