For specific Windows Forms Application rules, go to Rules to Better Windows Forms Applications.
There are different ways to align your form labels and each has its own pros and cons.
Labels are essential for guiding users on what information to enter in a form field. To improve readability and consistency, keep labels clean and concise. Avoid unnecessary words and don’t end them with a colon (:), which is a common but outdated practice.
Consistency is a key factor of software development, designing applications that minimise the learning curve through consistent use of componentry and functionality. If buttons with similar functionality are named inconsistently across a web application, it can cause a confusing experience for its users. For example, the buttons used to close a form should be named consistently across your application.
Additionally, buttons should have clear names so the user knows what to expect. For example, it is unclear if a button named Close will save (or not save) when closing, so Cancel would be clearer. A Save button alone is not explicit about the following action for the form (It could close or remain open).
While "OK" buttons were the standard convention with operating systems of the past, web applications should use a more user-friendly approach to dialog boxes. Instead of "OK" buttons to confirm an action the users want, it’s more efficient and effective to give them button that is labeled with that specific action.
The words we choose can significantly impact user experience. One such area of careful consideration is the language surrounding user authentication.
When adding input boxes to collect data, please always have a <label> tag associated with your <input> tag to link the labels with their respective edit controls. This improves accessibility and gives nice focusing stuff (when you click the label).
Usually there are problems fitting buttons next to datagrids or listboxes when trying to imply that those buttons add functionality to the datagrid or listbox.
When there are too many choices always Default to the most common ones. Then add a checkbox to allow the advanced users to turn off the common choices.
If the form controls are different entities, they usually have different data and different validation, thus they should not be combined. Having the controls separated also make the form easier to read.
For any case of 'Add New', choose to open a new window (popup) for entering data.
Using a separate menu to maintain ComboBoxes is never a good idea. A better solution is to use an ellipses button to drill down into the menu.
Combining data entry and find navigation is a mistake. I think 2 forms are better than one. I prefer a list box on one form with "Add", "Edit" and "Delete" buttons to a popup form. Rather than a listbox and the data entry fields on one form.
Instead of using plain textboxes for notes, use rich textboxes. It allows you to use links to URLs, formatting (including bold, underline, italics, font type and font size, etc.), bullet points and numbering.
If you want to edit a single item in your form we suggest you use a popup form. This gives each form a definite function and neat UI design.
Despite seeming trivial, the most subtle elements of your form can have the greatest impact on your users.
FieldSet element allows you to group thematically related controls and labels. Grouping controls makes forms more accessible and easier for users to understand the purpose of filling the forms.
See the example below using "Your Details" and "Event Details".
Rule 1: Whenever you have a data entry page you should always use the HTML maxlength attribute to limit number of characters to the length of the field in the table (except for numbers).
Rule 2: Whenever you have a situation where you are using the HTML textarea (does not have the maxlength property).
In Outlook the Street Address is stored as 1 Multi-Line field (with an intelligent Address Checker - nice but not essential), yet in Microsoft CRM the Street Address is split out across 3 separate single line text fields, they should be consistent.
When asking for an opinion do you give people the option of having no opinion at all? If you only provide "Yes" or "No" as answers to the question "Do you like apples?" then you force people to make a decision which may not be correct.
Regular users or data entry personnel should be able to use your data entry form with ease. The form should follow a logical sequence of steps that matches the expectations they have based on their past experiences. This user experience will help to maximise their efficiency and satisfaction.