VB.Net - UI Design Suggestions

Jimbo99999 used Ask the Experts™
Good Day Experts!

I am freshly back into VB.net coding after a couple years off and had kind of a project design question from a UI viewpoint.

Here is a little bullet point of requirements:

1) One standalone .exe
2) Maitnenance type application for multiple tables in SQL Database
3) Make it "expandable"
4) Currently 10-15 "screens"

I am thinking of the menu pull down type look but then would have to manage open forms.

Currently I have started with the TabControl but would have to manage the actual tab size to accommodate if one maintenance "screen" needs to be bigger than the previous one viewable size.  Plus the TabCotrol could get pretty wide.

Then with the TabControl is there someway to do a "home" one so I don't throw the user right onto the first tab when they login? Or is that ok?

As you can see I am open for design suggestions and/or resources to look at to assist with my decision making process.

Thanks for helping and I look forward to your ideas,
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Michael FowlerSolutions Consultant

In one application I wrote I wanted different sized tabs and so I using the tab changed event I altered the size of the form and tab control as appropiate for the selected tab. This avoided having lots of blanks space on some tabs but not others.

Not sure what you mean by a "home" tab. If you want the form to open at the tab the users is currently at then you will need to store this information somewhere.

For a standalone exe just change the solution configuration to Release, run the application and then get the exe out of bin/release folder. This works so long as you do not have any dll's referenced. If you do reference any dll's then use ilmerge (http://www.microsoft.com/en-us/download/details.aspx?id=17630) to combine the files.

Maybe instead of having tabs you could have a "Main" page. This page would have options for what the user would like to edit and when an option is selected the appropiate form would open to make the changes and when the form closes take the user back to the "Main" screen.



Thank you for your response.  Your size changing idea is intriguing.  

What I meant by "home" tab is when the application opens would I just show the first tab with all the textboxes, grids etc? Or is it typical to have a first tab labelled "home" or something with a logo or graphic?

Solutions Consultant
I personally would use a series of forms with a "Home" form to get this effect. So the app opens at the "Home" form, user selects an action to perform, new form opens to perform the action, and lastly when the new form closes it returns the user to the "Home" form.

Barring this you could look at having a navigation bar down the side of each tab with links to the different tabs. Here I would have the home screen as an information tab. Alternatively you could have a navigation (Home) tab and just place button that returns to this tab on all other tabs.

Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

One solution might be to use the Treeview control. It would provide a cleaner look and feel than a tab control with lots of tabs or overly complex tab pages.

The TreeView looks like the Windows File Explorer. You have a tree and branch control down the (left) side of the form with meaningful groupings, which can be clicked on to expand into sub-groupings. At the end of each entry, you can display a form explicitly designed for the functionality you wanted to present at that point.

As a quick conversion, each of your 15 screens, which you were considering placing in a tab control, could be a branch in the tree control.

As you put more thought into your design, you may want to either (a) break up some or these screens into more tightly defined functionality screens.
Future enhancements of functionality would be a simple as adding a new branch to the tree, or even a sub branch to an existing branch of the tree.

From your user's point of view it would be a much simpler and cleaner presentation. After all, when you click on a directory in the File Explorer, you can be presented with a list of files, or more sub-directories. You only get the sub-directory information if you click on the folder to expand it. If not you have the simple list of files. The user gets as much or as little information as they want.
Most Valuable Expert 2012
Top Expert 2014
I would suggest using the MDI form with other forms within the main form. Users can open forms on demand.

With regards to form management, you can either look at a free solution like below


or a commercial product like DevExpress which I have used myself



Thank you everyone for your input.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial