Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

VB.Net 2005 - Design Migration for WindowsForm Project

Posted on 2014-10-29
11
Medium Priority
?
139 Views
Last Modified: 2014-11-21
Good Day Experts!

I have a design question I want to run by you.  My project has grown to a point where I need to make a change.  It is a std WindowsForm deal with a TabControl.  The functionality has grown such that I have 3 rows of tabs right now.  I don't want to make a 4th row as there is real estate issues.  

So, I am open to making a design change.  I was thinking of going to pull-down menus and grouping the tabs into topical areas.  But then I could not think of how to manage the control swapping on the form.  Would I just use panels to move into view based on the menu selection?  I am trying to avoid managing multiple forms.

What are your thoughts and opinions?  Please ask questions as I know I am probably light in my explanation.

Thanks,
jimbo99999
0
Comment
Question by:Jimbo99999
  • 3
  • 3
  • 2
  • +2
11 Comments
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 668 total points
ID: 40412704
Have you thought about an MDI interface? Look at how an Access database is built. An application can have dozens of forms, but you open only the ones that you need.

Managing separate forms, each one with only the code that it needs, is usually easier than managing a great number of tabs whose code all ends up in one big file.

Working that way also has advantages compared to panels or tabs. Only the ones that are really needed are loaded in memory. You have events specifics to forms that you do not have with other types of containers. Users can put 2 forms side by side for some operations.
0
 
LVL 45

Expert Comment

by:AndyAinscow
ID: 40412755
>>The functionality has grown such that I have 3 rows of tabs right now.
Personal feeling - yeuch.  

>>What are your thoughts and opinions?

More important - what are the feelings of the users AND how do they work.
0
 
LVL 45

Expert Comment

by:AndyAinscow
ID: 40412758
ps.
By how do they work.  I mean how do they interact with the app, how do they use it?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 15

Assisted Solution

by:ChloesDad
ChloesDad earned 668 total points
ID: 40412761
We have had similar thoughts with our application, although we only had 1 row of tabs. The best solution that we found was this

Create a user control for each page, this will mean that most of the code can go in the user control not in the form itself (As James points out having a huge form with thousands of lines of code is unmanageable in the long term). You then place the user control on the appropriate tab page. If you need to pass information to/from the main form and the user control you have properties that can be read and written, you don't access the individual controls on the user control from the main form directly.
0
 

Author Comment

by:Jimbo99999
ID: 40413105
AndyAinscow:

I am not sure what you mean by "yeuch"?

This app and the individual tabs play numerous functional roles.  But, in general it is a way to view data in various databases, generate reports, and in a few instances update data in a database.  Each of our departments here may use a group of the tabs while another department may use a completely different set of them.  A User may only use just one tab in his/her daily routine.  So, as more needs came up in the past, I just added another tab.
0
 
LVL 15

Expert Comment

by:ChloesDad
ID: 40413239
Why not then hide the tabs that each user type does not need
0
 
LVL 45

Expert Comment

by:AndyAinscow
ID: 40413340
Apologies for being brutal.

yeuch means horrible.
Three rows of tabs - to me means every possible thing has to be displayed no matter how useful or practical.  Little thought of design.

NOTE - now you are addressing this 'mess'.  As I mentioned earlier the best feedback you will possibly get as to how it should look and behave is from the end users.  Experts here can suggest things but they do not know how it is used in the real world.
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 40417146
Seems to me that you need to group tabs onto separate forms depending on the workflow of different user types.
0
 

Author Comment

by:Jimbo99999
ID: 40418549
Hello:

I do hide tabs based on what the User is to see.  However, there are a few "Administrator users that need to see them all. At time of creation, the usage of my project was not anticipated to serve such a large functional role.  So, I am here having to upgrade it to the next generation.

CodeCruiser: I like the sounds of your suggestion.  Do you have a suggestion reading on the topic?

Thanks for the help,
jimbo99999
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 664 total points
ID: 40453677
Hi,
Apologies for late reply. You basically need to have an MDI parent form (example) and then a number of forms for each of the user types. On each form, you can then use a tab control and define all the tabs specific to that user. Another option is to split forms by workflow type instead of user type. Example would be a form with many tabs which allows user to add a new employee with all the relevant information grouped on different tab pages.
0
 

Author Closing Comment

by:Jimbo99999
ID: 40458364
Thanks for all of your suggestions.  I will take a look at them and determine which route I would like to go.

Have a nice day everyone,
jimbo99999
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses
Course of the Month14 days, 16 hours left to enroll

578 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question