Let's modify the spec to say that the
Suppliers form will come up in display mode (with editing disabled), and the user will have the ability to make a menu choice to edit the form, and then save or cancel the edits.
Figure 2-25. Customer Details updated
To accomplish this, you'll want to add a menu to the form, and an indication (perhaps in the form title bar) as to which mode you are in:
Read mode, the text boxes and grid will be disabled. In
Edit mode the controls will be enabled. Once you've made changes to the form, but not yet saved them, you'll be in
Unsaved mode. The advantage of distinguishing between Edit and Unsaved mode is that if Cancel is selected or there is an attempt to close the form, you can put up a reminder that the changes have not been saved.
To begin, add a menu strip control to frmSuppliers.vb, as shown in Figure 2-26.
Figure 2-26. Add Editing Menu to frmSuppliers
The code in the
frmSuppliers_Load event handler, as it now stands, loads the data from the database. You need to change it to first disable the text boxes and the datagrid, and then add event handlers to detect when the user makes changes.
The new implementation of
frmSuppliers_Load is shown in Example 2-9.
Example 2-9. New Suppliers form Load event ...