SQL Server MVP and Oz Regional Director Greg Low posted a while back on "What Makes A Good Data Entry App" (I'm just catching up on some old, bookmarked, reading). He has a checklist of important considerations for designers, which is well worth following.
I found out the hard way that Greg's remarks on font sizes are relevant - an application I'm designing used the default font and size which would be fine for me, but after demo'ing the application for a user I observed that for this particular user, my screens seemed unnecessarily compact and small. Changing the font size and opening up the layout made the application look much better.
On the font size issue - a couple of things I've found helpful (while not directly related to Greg's points) are that Visual Studio 2005 & .NET 2.0 (Windows Forms) make it easier to have screens that scale well with the AutoScaleMode property on forms, AutoEllipsis on buttons, checkboxes and labels, and the new TableLayoutPanel control (which I haven't played with much).
Greg also points out that errors should be handled in a non-intrusive (e.g. non-modal) manner. I have come around to using the ErrorProvider control for marking fields that need further attention and setting focus back to the first control with errors.
One thing I think could improve the whole data-entry screen "culture" is for Windows Forms to take a bit more notice of web-based screens hosted in a modern browser. I think that over recent years, and now that JavaScript works (e.g. AJAX), lots of smart people have put time and thought into making web-based data entry screens more usable. In my mind this extends even to including simple, Scriptaculous-style animations where appropriate (currently next to impossible with Windows Forms).
Technorati tags: windows forms, .NET development, scriptaculous