Give ICreate InputPanel a try. It is the quickest and easiest way to develop .NET WinForm database front-ends.
InputPanel is a powerful data entry control which allows you to: automatically create fields from data source members; position the field controls using the layout engine; define validation conditions for the fields; give the user feedback by displaying field status; and guide the user through the data entry process using the built-in help facilities.
InputPanel has a number of features. Many of them independent; allowing you to pick and choose which features you would like to use. Obviously though the more features you choose to use the more powerful the component.
You can use InputPanel simply to layout the form and provide some colour. Or you can layout the form, provide colour, obtain the field definitions from a data source, retrieve the data from the source, validate the user input, store the data to the data source, and display error and help messages to the user during the data entry process. The choice is yours.
The layout engine ensures that form controls are spaced and aligned at all times. It does this by defining a positioning grid and assigning the captions and controls to the cells of this grid. You can easily reposition a control by dragging it from one cell to another. When sizing a control, its neighbors are moved to make or take up space as required to ensure that spacing and alignment are maintained.
The layout engine manages the alignment and spacing of the controls, it does not however force you to use a particular arrangement for the controls. Using drag and drop positioning together with properties like span column, and column initiator you can specify which controls go where.
You can create fields in a number of ways: drag controls from the ToolBox onto the panel, drag Tables, Views and Store procedures from the Server Explorer onto the panel, manually create fields using the custom designer or create fields from data source members.
Define validation conditions for the fields. These conditions include minimum and maximum character length and minimum and maximum value. You can also specify the conditions under which a field is mandatory and enabled. These conditions can contain field values. This allows you to include in the validation conditions any relationships that exist between fields.
You can wire an accept Button or LinkLabel to the panel. This control will only be enabled when all fields are valid. In this way you can be sure of the integrity of your data.
Field status display
Help the user fill out the form by clearly indicating which fields are required, which fields currently contain valid data, and which contain invalid data. You can do this by displaying flags or modifying the colour of InputPanel elements.
Tips and messages
No one has the time to read large user-manuals cover-to-cover. People want concise, relevant information to help them with the task at hand. InputPanel has build-in support for help so that you can provide this concise relevant information to your users.
The panel has a number of channels for help messages: standard ToolTips, enhanced ToolTips, Label text and StatusPanel text.
Reduce your workload by automating your help messages. Help messages can include field values, the value of field properties and date time format information.
When users do get it wrong, send helpful error messages to them down the same channels. These messages can be defined with the validation conditions.
A template describes a gradient filled background and border. There are templates assigned to odd rows, even rows, odd columns, even columns, caption and control cells. By modifying the template parameters you can come up with an endless number of appearances for your forms.
Create database front ends with ease using InputPanel. Define fields from data source members. Bind to these members using standard WinForms data binding or optionally use enhanced data binding. Enhanced data binding allows you to include fields from parent tables, format date, time and currency values without the need to implement format and parse event handlers, handle null values consistently and in general provides a more streamlined operation.