0

I had designed my application by using the concept SDI, That is Single Document Interface. The structure of my app is explained below,

My Application consist of mainly two forms,

  • Login Form
  • Main Form

Login Form:

Obviously, Login Form will be opened initially and it will ask for the user credentials, Then incase of credential match, i will close the login form and after that i'll display the main form for the users.

Main Form:

Actually, the main form consist of three panels. First panel is dockked top and it will hold the menus,second panel is dockked right and it will hold all the necessary buttons like save,delete,exit etc. and the third one is bit important, it will hold the forms(Toplevel=false) which are opened via the menu.


And my question is, I have more than 100 forms in my application, 1.) Is it efficient to open all the forms inside that panel upon user's request.? [I will close those forms and remove it from the panel one by one when user clicking on the exit button in the right side panel] 2.) Does implementing SDI to behave like a MDI, have any disadvantages.? [ Because in my app, i just implemented the MDI concept in a SDI]

Rajaprabhu Aravindasamy
  • 66,513
  • 17
  • 101
  • 130

1 Answers1

0

I actually just rewrote an app (exactly like yours actuall, with login and main forms) that was originally MDI, but I actually did away with that and moved to multiple independent forms.

The way I see it is that SDI (or MDI) makes for a nice contained app where everything is laid out logically for the user and everything is immediately accessible. That is all fine as long as you have a manageable number of interfaces open simultaneously. If you need to have the user open many windows at the same time, and especially if they occupy a lot of space, you might run into trouble trying to display all of it in a single Form.

I also find that a lot of users when working with graphical data like to maximise the visual representation on one screen and keep the tools out of the way on another screen, which can be difficult to do with an MDI or SDI app (the reason I rebuilt my app using independent forms).

Of course, you have to look at this on a case by case basis. You might have hundreds of forms which can be open simultaneously, but realistically, the user can only monitor a few at a time and only work on one at any one time, so you have to ask yourself not how many forms can be open, but how many forms will realistically be open simultaneously. Then maybe you can make a design decision to only allow certain combos of interfaces or to design your app in such a way that only a certain number of interfaces can be loaded at any one time in a given container.

I'm not sure if this is the kind of answer you were looking for, but if there is a definite answer to this one, or at least some concrete guidelines, then I'd be interested to hear about them too.

yu_ominae
  • 2,975
  • 6
  • 39
  • 76