I didn抰 have much time yet to experiment with
windows clients. But here we go:
Code which is not user interface related or code
which is used be more than one screen should be written in a class file.
•
If possible, filter illegal keys (like 慳拝抸?if a number is
expected).
•
Each user input needs to be validated
•
Support the 慣ab?key
•
As many activities as possible should be accessible through
access keys (ALT + x)
???
inheritance ???
•
The last part in the name of a control instance should be the
name of the control type:
•
If the size of a form changes, at least one control to several
sides of a from.
RetrieveButton, CustomerNameTextBox
Don抰 use abbreviations
for control types like btn or tbx
Define an access key for every button by using &
in the text property of a button: ?amp;Retrieve? This allows to access the
button from the keyboard pressing ALT + R instead using the mouse.
•
Use PeterBox.DataGridToolTip which provides automatically a
tooltip for every field. This is very useful if the text in a field occupies
more than 1 line or is very wider than its column.
•
Adjust the width of at least one column if the width of the
DataGrid changes.
Start the name of all controls on one tab-page with
the same word:
OrderIDTextBox,
OrderRetrieveButton, OrderGrid
CustomerIDTextBox,
CustomerRetrieveButton, CustomerGrid
On a Windows clients it makes sense to access bigger
chunks of data and to store it in a DataSet which allows the user to easily
navigate through relational data.
???
Define a special console project which will run all
the tests defined in the middle tier.
•
Test with different regional settings and languages, is
everything properly translated ?
•
Test shortcut keys in all languages
•
Test tab key, enter key
•
Test how it looks when windows size is changed
???
???
???
Chapters Overview