Link to home
Start Free TrialLog in
Avatar of Tim Turner
Tim TurnerFlag for United States of America

asked on

VB User Interface Form Design

Hello,
The VB IDE has pathetic ability to create user interface... no alignment, same size, type functions.  No undo is the worst offender.

Is there any 3rd party alternative for building a visual basic form for the user interface????

Also, I was planning to use the SSTab control for a project.  Are there any major pitfalls that I should be aware of?  

Regards,
-Tim
ASKER CERTIFIED SOLUTION
Avatar of HoweverComma
HoweverComma

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of HoweverComma
HoweverComma

Hmmm that is very interesting I have programmed in VB for over 10 years and I have never noticed that.

You are only partially correct there fds though, there is an Undo for deleting components on a form in VB5 and VB6 I just checked in both.
But you can not undo a move, that is right on the money. I have never noticed that, or else just got over it and never looked back.

Avatar of Tim Turner

ASKER

OK my bad... I forgot temporarily that there was some alignment features....  however I never noticed the make same size feature.  Why this stuff is not available on right click I guess is due to it being so old...

The number one problem I have is selecting a number of items... trying changes or moves... and mouse gets messed up or its not right... and you can't UNDO it.  So we have a solid released application and if you try to edit the user interface you can mess it up... Yes we can back up the form and recover but that's a big pain compared to just UNDO.

I'm using VB6.

I guess I still have the remaining question of "is there a 3rd party form designer UI designer that is available that is better than what is in VB"?  I found a tool that is a runtime VB designer...  not sure yet what it can and can't do though.
Fair enough HC. I've done VB since the old days too. I must admit I hadn't noticed that I could undo a deleted component - I can't remember accidentally deleting one though. I do occasionally accidentally drag them. But they can be locked in place and when locked moved/resized with shift/ctrl arrow keys.
fds - Funny what you learn here I didn't know I could do that with locked controls, although after I lock them I am usually done anyway.

torrid the reason the stuff is not available on the right click menu has nothing to do with the age it is just that evertything MS does is done half assed, Delphi 3 and up had that available on contect menu, and a few other programs that I used in the days of VB5.
I have not found any designer that you are asking for it looks like you are gonna have to live with those shortcomings, or pick a diff prog.

Delphi is nice, tons faster and not all that hard to pick up IMO.
We have too much code in VB at this point to switch.  The app we have has been around in VB since 1995 and for the most part we are happy with VB.

I did discover a few things that are very weird or not good:
- I forgot that I hate the fact that there is no "group control" type option.. I'm used to graphic design tools where you can group things and move them around without messing up sizes and spacing
- the same size functions don't work very well; they default to the smaller text box if you select more than one and make them same size.  I don't see a way to control that
- the font selection does have something to do with the textbox resizing... if set to Arial 8 point regular you generally cannot make it go lower than 315.  But if we change it to ms sans serif, soem textboxes we could reduce to below 285 to 255 or even 240 but others will not budge below 285. It was very odd.  Also we noticed that when resizing text boxes, sometimes you could reduce in size by draggin bottom up and other times you had to squeeze a bit more by dragging from the top down.  It did not make sense that they acted differently.  I can only guess that maybe nearby controls are causing issues there.
- also if you go into options and have "align to grid" checked, then that will also limit your resizing ability; if you uncheck that then you have more control over resizing but also more chance that selecting something may accidentally move it
- I'm annoyed (unless I missed something) that the lock controls is universal; I though I could lock down specific controls as being "done" but continue to work on others.  It appears as though it is "lock all controls on this form" and not "lock this selected control"... am I wrong?

I realize VB6 may be on the way out as far as MS is concerned but I'm a bit surprised no one built a 3rd party tool that could do a better job creating a user interface.  I mean there's a 3rd party control for about everything and a strong market for VB tools.  It would seem that offering a 3rd party UI designer would be well received and command a decent price.

Thanks for your replies.
Regarding the SSTab control vs. Tabstrip... I went to a lot of work and effort to use a SSTab control only to realize that I wanted the same set of textboxes on Tab 1 and Tab2 but would store the data for 2 different people for example.  Thus it is a huge waste in my application to use a SSTab control because it would require duplicating all of those controls and logic... I have sense started working on using a TabStrip and will just control where data is loaded and stored from... and for the 3rd tab I need I will move another picture box in place, on top and make it visible for the extra items I need there.

So for anyone contemplating "SSTab vs TabStrip"... use SSTab control if you will have mostly different UI elements on each tab.  iIn which case it is a great way to save screen space.  If however you are going to be reusing UI elements between tabs, you should consider using a TabStrip and using the index tro flop between which dataset you are loading and storing from....

Thanks
-Tim
The make same size function will change everything to the last or first thing selected, it escapes me at the moment which but it is one or the other.

There is a little "workaround" to group your controls, use a frame with no border same as backbround color and insert the controls into it.
Being a container control it will server the function of "grouping" and if needed only takes one line of code to hide all TextBoxes if need be.
This way if you want to move it to a totally different Tab you can easily cut and paste it.