Hi Chip: As you said there are 2 basic layouts and which you pick depends on 
the audience.
I often put a menu item in the view menu that allows the user to select which 
view they want - ie ScreenReaderUserMenuItem.
You can then have 2 forms and display either one depending on if the 
ScreenReaderMenuItem is checked.
Just save that setting whenever the program is closed and read it when it first 
loads to have that setting propagated and automatically used as the default 
view of that form.
  If I have more than say 7  or so boxes that need to be filled in I will often 
use a ListBox and a TextBox on the form.
  Then I bind the ListBox and TextBox to a DataTable with those 2 fields.
  That way as a user arrows up and down in the ListBox reading the FieldNames 
the values can be entered or changed in the TextBox. When done editing the data 
I usually have a GOButton that reads the contents of the DataTable and 
processes the inputs or edits.
  This is a good way to handle larger numbers of inputs say 15 to 50 or so and 
since the ListBox has the ability to jump to items based on the first letter 
you type it is pretty fast to use.
  Using default values when creating the DataTable allows for faster use of the 
form as well and you could even use a DropDownList and have only what appears 
as 2 smallish boxes to handle all that input so the rest of the form can still 
hold even more data.
  Using something like a TreeView with a TextBox or other control depending on 
which node has focus, is another way to organize larger quantities of data and 
better than just say 15 labels and 15 boxes on a screen unless the project is 
geared twoard sighted users.
  The simplest method to implement and most effective if all fields are 
required to be entered would be to put them all on one form since  a user is 
going to have to tab to every one anyway and set focus to any field causing an 
edit error.
  I think I might go that route if the user has to enter data in all the boxes 
- there would just be no way around having to navigate to each box and type 
something in whether using a ListBox and TextBox (or other control for input 
depending on which item in the ListBox has been selected), a TreeView again 
depending on which node is selected and the method of tabbing to a labeled 
TextBox and typing in info or selecting from some other control with values 
predefined.
  The advantage to a List or TreeView comes in when the user might want to 
enter or change only one or a couple of values from many options to save allot 
of tabbing and navigation - at least for screen reader users.
  Finally, if all fields are required I would likely just put them as 
individual labeled TextBoxes or Lists, edit them before processing and, if an 
error, display a message with the error box having focus when the error message 
is closed for quick fixing by the user, highlight the text in the TextBox, make 
a border around the errant TextBox visible or something else and your sighted 
users will think it kind of cool and add a touch of dynamics to your form.
  How far I would take the analysis and design and how complex the code would 
depend on my audience and whether this was a job for greenies or a freeby.
  Rick USA
  ----- Original Message ----- 
  From: Chip Orange 
  To: [email protected] 
  Sent: Thursday, October 17, 2013 7:57 PM
  Subject: form design/layout question


  Hi all,

   

  I am designing a form where I need to get a significant amount of info from 
the user (perhaps 15 to 20 controls).  I can fit all the controls on one large 
form, and I'll try to group them into groups with titles and visible frames to 
make them appear logical, and not just scattered all over the screen.

   

  Or, the alternative, would be to do something like the WE control panel, 
where you have some listbox or treeview on the left controlling which groups of 
fields you see on the right.  I have at least 3 groups of controls, perhaps 5 
if I did it this way.  The user would be required to go through the listbox and 
visit all 5 groups and tab to the right and enter the info for each group.

   

  This seems to me to be more tedious when all the fields are required (not 
when you're just trying to jump to one particular field to make a change).

  In my case all my fields are blank, and the user can type in the info or has 
a choice of command buttons to retrieve the data.

   

  What I'd like to know is which type of window would you rather work with?  
One with all the fields seen at once, or one where you must go down a listbox 
of groups, and then go throu each group of fields, and then return to the 
listbox?

   

  Reasons would be appreciated.  Especially if low-vision users might find one 
format better.

   

  I will say that I could be certain, when a low resolution monitor is being 
used, that the second method would more likely fit on screen.

   

  Thanks for any thoughts.

   

  Chip

   

Reply via email to