Newbie form design question

  • Thread starter Thread starter KR
  • Start date Start date
K

KR

I'm an avid Excel VBA programmer, but still learning the basics of .Net.

I have VS2003 and am programming for an Ipaq 2215 using VB.net

I created a simple program to collect data which involved 3 tabs (one is
used a lot, the other two are used occassionally). Each tab has various
comboboxes and textboxes and a submit button.

The overall project (most folks use paper forms to collect their data) has
grown, and now there is a lot more information that needs to be collected
now. I'm reluctant to stick with my current tab design, because there would
be more tabs that could be visible on the screen at one time. I also want to
adhere to good design principles and make it as easy as possible (fewest
clicks) to get to whatever screen I (or anyone) needs to get to, to enter
data.

So, I'm looking for opinions on the following, and suggestions on
alternate/better approaches. Load time is important but not critical- I'll
be populating comboboxes from about 30 different text files vs. the 8 I use
now, but the program will only be loaded once a day, then used all day.
Response speed will be important, as I need to minimize lag time to switch
out different data entry screens during data collection. The program saves
data to a flat file (text) for processing and then upload into a database at
a later time.

Ideas:

I could have one "permanent" tab (in the first position) that has a list of
all the other tabs on commandbuttons, then the user clicks the button they
need, it unhides a tab for that data entry, and when they hit 'submit', that
secondary tab automatically hides itself and the user is back at the main
tab again. I haven't played with showing and hiding tabs, but I'm assuming
that is pretty straightforward. The potential problem is that the most
frequently used tabs may be used several times in a row, so this means an
extra click each time to unhide the same form that was just used.

Alternatively, I could have one combobox at the top of the form, with the
tabcontrol below, so the user could select the required form from a list and
have it pop up as the active tab (at which point it wouldn't matter if the
other tabs were hidden, because the one showing would be the one needed).
I'm assuming that there would be less lag to switch which tab is active if
they are all unhidden? I'm not sure if there are any drawbacks to this or
not.

Any other approaches that you've used, that might work better without being
overly complicated to program?

Many thanks,
Keith
 
The biggest delays will be creating the controls. With what sounds like
a lot of tab pages with many controls, then the start up time will be
poor, but since that is a one-hit event, you could probably live with
it.

Do the different tab pages have the same layout/controls, just
differing combo box options? If the layouts were the same, it would
make more sense to have a single page with the combo box(es) and then
load up the available values as required. These could have been
previously read into arraylists or datasets on startup.

If the tab pages are not all the same, but similar, maybe you could use
the same approach, but tie the 'page selector' to a 'page layout'
setting and adjust the tab page on the fly, with data already loaded
the performance of this probably wouldn't be too bad.

Cheers

Chris
 
In this case, the control layouts on the different pages will be different-
some will have mostly comboboxes, others will have a combination of
textboxes and optionbuttons, etc. Looking at the source data tables, I can't
think of any layout options that would be re-usable across multiple tabs.

As long as the big hit is on the front, it looks like separate (usually
hidden) tab pages may be the best option.

Thanks for the feedback/input!
Keith
 
Back
Top