views:

29

answers:

1

Hello everyone. I'm currently designing an MDI application (a custom CRM) in .net 4.0 and i'm starting to dislike the whole interface simply because there's no real way to track which windows are open or closed and it'll probably lead to a very confusing interface.

What is the best way to avoid this? - Should i implement a taskbar to track every open mdi child? - Should i use dialogs instead to prevent multi-tasking? - Is there any way to change the size of a minimized window on a mdi container (why are they so small, you can't even read the full form title that way...)

Sorry for so many questions, thanks in advance.

A: 

MDI has its uses, but as you've found can easily lead to a cluttered, hard-to-use interface. The current in-vogue way of dealing with this is to add a tab control (as in any web browser, or most text editors/IDEs) to allow switching between open views. This is close to a task bar I guess.

Other options are controls like the Outlook bar (the big view chooser down the left-hand side of Outlook) or possibly just a simple list box with the currently open views.

Alternatively, consider how often you really want multiple windows available and whether most of them are "tool windows". If so, perhaps look at using docking windows for these tool windows, and a Single Document interface for the rest of the app. All depends on what you're actually doing!

Simon Steele