Updated WinForm UI Guidelines
Upon taking on an existing project that was developed by other consultants, Ben and I noticed that the application lacked consistency and adherence to common UI guidelines.  With that in mind we created some simple guidelines that have improved the usability of the application tremendously.  I've added these to our internal guidelines checklist:

* Identify all required fields
* Verify form validation on all required fields
* Identify all valid field ranges and special formatting requirements
* Verify form validation on all field ranges and special formatting requirements
* Identify all default values
* Verify that all defaults values are initially populated in the form
* Identify all readonly fields
* Verify all readonly fields do not allow editing
* Verify proper population and persistence of all fields on form
* Display all validation errors in a consistent fashion with user friendly messages
* Display all exceptions in a consistent fashion with user friendly messages
* Allow users to cancel out of time consuming processes


FYI: Existing guidelines that were already defined in our internal guidelines checklist:

* The form ScalesProperly.
* Tab order between controls has a natural flow.
* Has a consistent layout.
* Cursor to first input value.
* Default close/cancel behavior.
* Form Titles and Captions
* Busy / Cursor Indications
* Form Icons (Window Icons)
* Document Form Behaviors and Test
* Resize on Modal forms.
* Start-up Postition (Center previous Form/Screen)

If you think of any that we missed, let us know ;)



Posted 03-30-2006 1:08 PM by jvogt

Comments

mhodnick wrote re: Updated WinForm UI Guidelines
on 03-30-2006 2:04 PM
I would add:

 * Hot-Key assignments to buttons (e.g. "C" for Cancel, "O" for Ok, "A" for Apply, etc).  I use these all the time - especially with the Find-Replace dialog in VS .Net.

 * Hot-Key assignments to text labels adjacent to their input control counterparts.  e.g. If you have a "City" label above the City text box, add a hot key shortcut for the City label (e.g. the "y" character) so you can navigate to that field on the form in a quick set of keystrokes.  This one isn't as important - how often do you REALLY need to jump to a specific field in a form, but nice to have.

Add a Comment

(required)  
(optional)
(required)  
Remember Me?
Inetium, LLC. Disclaimer