Reference no: EM132991018 
                                                                               
                                       
ITAP3011 Developing Windows Applications
Lab Tutorial - 5
BusCase UI 6.1
Dafesty Video Rental Pte Ltd.is interested in creating the following Forms:
• Customer Maintenance
• Video Tape Master Maintenance
They  suspect that there may be a few more Static Data Maintenance Screens  that would have similar functionality and hence desire to create a  template form to act as a "master" format for all such maintenance  screens.
Your Task:
1. Define the Standards for a typical static data maintenance screen.
2. Identify the Template Components, i.e., those features that would be common for all the data maintenance screens.
3. Sketch a rough figure on the look and feel.
4. Identify program codes that would be common for all the screens.
5. Create a Template Form with the look and feel identified in step 3 and having program codes determined in step 4.
6. Use (Inherit) the template to create
a. Customer Maintenance Screen
b. Video Maintenance Screen
BusCase UI 6.2
Dafesty  Video Co's CTO, Karen is taking efforts to convert their video rental  information system not only friendly from user point of view but is bent  upon making his system adopt good programming and design practices. In  this light, she noticed that there is a common requirement in many of  their Windows Forms.
The  textbox used in many screens invariably proceeded with a label - this  was not her major concern. She found that very often text boxes used in  the forms required only alphanumeric entry and she felt the need to  prevent the users from entering data other than alphanumeric characters.  Not knowing how to approach the problem, she called Venkat of VIT who  had taught her in a short course she attended. After listening to her  requirement Venkat said: "I do not off- hand remember any property in  Textbox control that would prevent entry of special characters." He  suggested that a good way to do this would be to create a "user control"  object that would comprise of a composition of two .NET visual  controls, viz., Label and TextBox. Further the TextBox in the user  control can have an event handler on keydown that would cancel the entry  if the key that was pressed were non-alphanumeric.
Karen  was thrilled by the idea, but confessed that though she understood the  concept, she does not know how to proceed on actual development and  requested Venkat to provide a proof of concept code sample. Venkat is  currently very busy, so can you help him develop the user- control?
Description of the User Control:
The  above control can be used in ay form. Let us call the user control:  CodeFieldUControl. The user control would consist of a label and a  textbox pair.
The  user control should provide a facility for the consuming form to set the  label text since each consuming form can have different captions. This  is achieved fy providing a public get/ser property (accessor/mutator) to  the label's text property. We would require a public property as  mapping since the label control is private to the user control class.  Let us call the getter/serer public property as LabelCaption.
The  text box (placed in the user control) is a normal textbox, but we wish  to have some additional features for this textbox. These features should  be ser / programmed at the user control level for the text box. Hence  the consumer of this user control would automatically be able to achieve  all these features without writing codes each time in his/her form.
The following are the identified preset properties of the components within the user control.
a. Label's Text font size is 10pt
b. Textbox's Text font size is default.
c. Textbox automatically makes the text to upper case.
- To achieve this you need to sert the CharacterCasing Property appropriately.
d.  Only alphanumeric characters can be entered in the text box when a  person tries to enter values in the user-control's text box when this  user control is used in a consuming form.*
Checking for the Alphanumeric data entry:
o Use the KeyPress event of the textbox.
o From the event argument, it would be possible for you to capture the key character that invoked the event.
o If  the character pressed is not alphanumeric, then you can stop proceeding  with the action by setting the Handled property of the event argument to  true.
o It  would be a challenge to incorporate permitting the backspace or delete  keys since these are often used during data entry process - if you are  not able to achieve this it is ok. If you need to achieve this also, you  may need to consider additional programming and may require use of a  combination of events like keydown /keyup in addition to the keypress.  This may be taken up if students wish perfection.
Steps for doing this workshop:
1. Create (or use) the Windows forms project.
2.  Add a couple of forms that would consume the usercontrol. Ideally these  are forms that would be launched from a menu in form1, the application  start up form.
3. Add a user control (name it CodeFieldUControl.cs).
4. Define the user control features:
a. Place Textbox and label with predefined properties as mentioned in the specs (including the character casing restrictions).
b. Add the getter/setter Property for label text.
c. Write event handler codes for alphanumeric check.
5. Add the user control to a consuming form:
a.  Selecting the UserControl, look in the Properties Window - you should  be able to see the get/set property LabelCaption in the properties  window! Set the label as desired on the fly.
b. Add any other normal controls if required.
6. Run the project and test.
7. Repeat steps 5 and 6 in another form - notice how the features are well reused.
Wow what a reuse!
To distribute your user controls to other projects you may try this: (this is an optional exercise)
1. Start a fresh project called UCLib - the project should be a user control project not a windows forms project.
2.  You need to do the user control as before - rather than repeating all  the steps, you may simply copy the CodeFieldUControl.cs into the new  project directory and include it from the solution explorer.
3. Compile the project into a dll library.
4. Start a new windows forms project call it TestUCApp.
- Add a couple of forms in this where the UC would be consumed.
5. Right click on the Toolbox and add components. Choose the UCLib.dll
a. You would notice that the user control that you had created now appears in the Toolbox.
b. You would also notice that references are added in the solution explorer.
6. Now you can use the user control the same way you had done earlier.
a. Test it and enjoy.
b.  Why not, perhaps you can build a lot of useful templates and controls  in this separate library project for use at a later point.
7.  Caution: After adding a user control to an application project, if you  make modifications to the original control, the changes are not  automatic since the old version of the dll has been localised in the  windows forms library - hence you may need to repeat step 5, every time  you make a change in the library. There are of course other productive  ways of tackling it; these are not discussed here since it does not  relate to UI specific learning.
Attachment:- Activity 5.rar