library.missing:|:Be sure to include your control library in your uploaded file. mdi.container:|:Create a Multiple Document Interface application. method.long:|:Avoid long methods. Each method that you create should be short, to promote encapsulation. If you have a method that is longer than 25 lines, then it probably needs to be divided into smaller methods. data.exist:|:Do not create a new data structure if one that already exists will solve the problem. setting.encap:|:In the program, use properties to encapsulate the settings. setting.user.width:|:Create an integer user setting that will contain the width of a wide child. setting.user.height:|:Create an integer user setting that will contain the height of a tall child. setting.app.min:|:Create an integer application setting that will contain the minimum value for the range of values for the width and height. setting.appmax:|:Create an integer application setting that will contain the maximum value for the range of values for the width and height. resource.icon:|:Use the resource editor to create an icon. resource.icon.32:|:The icon in the system tray is the 32x32 icon. resource.icon.initials:|:Create the icon so that it looks line your initials. Use the transparent color to hide portions of the icon that are not your initials. resource.image:|:Add an image of your choice to the resources. library.one:|:Add a control library to the solution. Only add one control library:it will contain three controls and two forms. library.fullname:|:Add a control that contains your full name. library.fullname.font:|:Use a new font for your name. library.fullname.size:|:Use a new font size for your name. library.fullname.color:|:Choose a background color for the name control. This color should always be displayed when the control is added to a parent control. library.fullname.dock:|:Dock the name so that it covers the entire control. library.course:|:Add a control that contains the course name and section of the course. library.course.font:|:Use the same font as was used for your name. library.course.color:|:Use the same color as was used for your name. library.course.smaller:|:Make the font size of the course smaller than the font size of the name control. library.section.smaller:|:Make the font size of the section smaller than the font size of the course. library.course.back:|:The course/section control should use the background color and background image of the parent control that it is added to. library.course.dock:|:Dock the course and section so that one is above the other and they cover the entire control. library.oath:|:Add a control that contains the oath library.oath.dock:|:The oath should fill the entire control. library.oath.font:|:Use the same font as was used for your name. library.oath.color:|:Use the same color as was used for your name. library.oath.size:|:Make the font size for the oath smaller than the font size of the section. library.oath.back:|:The oath control should use the background color and background image of the parent control that it is added to. library.form:|:Add a Windows form that will be used as a base form. library.form.moveable:|:Allow the base form to be moved by clicking and dragging with the mouse in the client area. Add a context menu to the form. The menu will have one item named Color. When clicked, the user can change the background color of the form by choosing a color from a ColorDialog. library.form.menu:|:Add a menu to the base form. library.form.menu.pref:|:Add an item named Preferences with a subitem named Colors. This option should perform the same action as the context menu Color item. library.form.menu.file:|:Add an item named File with a subitem named Close Child. This should close the form. library.form.menu.merge:|:Allow these items to be merged into items with the same name in a MDI parent. library.dialog:|:Add a form that will be used as a base for dialogs. library.dialog.dock.name:|:Dock the name control at the top of the base dialog. library.dialog.dock.course:|:Dock the course control at the bottom of the base dialog. oath:|:Create a dialog in the main application that will display the pledge of honesty. oath.back:|:Use the image resource as the background image for the oath dialog. oath.extend:|:Extend the oath dialog from the base dialog in the control library. oath.oath:|:Add the oath control to the oath dialog. oath.oath.center:|:Center the oath control it in the remaining space in the oath dialog. oath.fixed:|:The dialog should be a fixed size. Remove the icon, minimize button and maximize button. oath.icon:|:Remove the icon from the oath dialog. oath.min:|:Remove the minimize button from the oath dialog. oath.max:|:The dialog should be a fixed size. Remove the maximize button from the oath dialog. about:|:Create a dialog in the main application that will display a description of the assignment. about.back:|:Use the image resource as the background image of the about dialog. about.extend:|:Extend the about dialog from the base dialog in the control library. about.describe:|:Add a description of the assignment to the about dialog. about.describe.center:|:Center the descrioption in the remaining space of the about dialog. about.fixed:|:The dialog should be a fixed size. Remove the icon, minimize button and maximize button. about.icon:|:Remove the icon from the about dialog. about.min:|:Remove the minimize button from the about dialog. about.max:|:The dialog should be a fixed size. Remove the maximize button from the about dialog. pref:|:Create a dialog in the main application that will be used to gather information from the user. pref.extend:|:Extend the preference dialog from the base dialog from the control library. pref.back:|:Set the default, background image of the preference dialog to an image that is only added to this dialog's resources, not to the project resources pref.help:|:Display the help icon button in the title bar of the dialog. pref.min.hide:|:Hide the minimize button in the preferences dialog. pref.max.hide:|:Hide the maximize button in the preferences dialog. pref.ui:|:The user interface of the preference dialog should allow the user to enter the width and height of child forms. pref.buttons:|:Add OK, Cancel and Apply buttons to the preferences dialog. pref.buttons.OK:|:Set the default accept button for the preferences dialog. pref.buttons.cancel:|:Set the default cancel button for the preferences dialog. pref.valid:|:Perform thorough validation in the preferences dialog. pref.valid.focus:|:Allow focus change in the preferences dialog. pref.con.range:|:The minimum and maximum values for the valid range should be passed to the dialog in the constructor for the preferences dialog. pref.resize:|:Allow the form to be resized. No matter what the size is, none of the controls should ever disappear. pref.panel:|:Add the labels and text boxes for the preferences dialog to a panel that is just large enough to contain them. Add padding to the panel to improve appearance. pref.panel.center:|:The panel in the preferences dialog should be centered horizontally in the form. It should remain centered when the form is resized. pref.panel.color:|:The panel in the preferences dialog should have a different color from the rest of the dialog. pref.tool:|:Add tool tips for each input box and button in the preferences dialog. pref.tool.width:|:For the width text box, set the tool tip at run time, so they can include the range of valid numbers. pref.tool.height:|:For the height text box, set the tool tip at run time, so they can include the range of valid numbers. pref.help.width:|:For the width text box, set the help info at run time, so they can include the range of valid numbers. pref.help.height:|:For the height text box, set the help info at run time, so they can include the range of valid numbers. pref.help:|:Add help info for each input box and button in the preferences dialog. pref.error:|:Add error providers for each input box and button in the preferences dialog. pref.anchor:|:Anchor the OK, Apply and Cancel buttons so that they remain in the lower right area of the form when the form is resized. pref.encap:|:Encapsulate actual properties in the preferences dialog. pref.parent.access:|:The preferences dialog may not access any members from the main form, application settings or user settings. run.confirm:|:Before the application is run, display a warning message box with the buttons Yes and No. Make up a creative warning for users that are about to run your code. run.confirm.yes:|:If the user selects Yes from the initial message box, then proceed to run the application. run.confirm.no:|:If the user selects No from the initial message box, then do not call Application.Run. child.wide:|:Add a form for a wide child in the main application that extends the moveable base form. child.wide.con:|:Create a constructor for the wide child that has an integer parameter. child.wide.frame:|:Remove the frame from the form for the wide child. child.wide.region:|:Define the shape of the form as an ellipse. The height of the form should be value of the integer parameter. The width should be half the integer parameter. child.tall:|:Add a form for a tall child in the main application that extends the moveable base form. child.tall.con:|:Create a constructor for the tall child that has an integer parameter. child.tall.frame:|:Remove the frame from the form for the tall child. child.tall.region:|:Define the shape of the form as an ellipse. The height of the form should be value of the integer parameter. The width should be half the integer parameter. main.encap:|:Create properties in the main form that encapsulate the user and application settings. main.context:|:Create a context menu with the following options for the preferences dialog. pref.single:|:Only allow one preferences dialog to be open at a time. pref.normal:|:The preferences dialog is a normal dialog, not a MDI child. pref.normal.range:|:When constructing the dialog, pass the minimum and maximum values for the valid range of numbers for the width and the height. pref.modal:|:Have a menu option to Open Preferences Modally. pref.modal.release:|:Be sure that the preferences dialog resources are released when you are done with it. pref.modal.apply:|:Hide the Apply buton when opened modally. pref.xchg.open:|:Before the preferences dialog is shown, the main form should update the properties for the width and height. pref.xchg:.colse|:If the user selects OK and closes the preferrences dialog, then the main form should retrieve the width and height values from the dialog. pref.modeless:|:Have a menu itm that will open Preferences Modelessly. pref.modeless.apply:|:If the user selects Apply in the preferences dialog, then the main form should retrieve the width and height from the dialog. pref.modeless.close:|:On OK, close the preferences dialog. Do not close the dialog on Apply. pref.modeless.revert:|:If the user selects Cancel, ESC, Alt-F4, X button, revert to the orignal values when the preferences dialog was opened. pref.save:|:Save Preferences - save the user settings pref.reload:|:Reload Preferences - reload the user settings. Repopulate the panel (described below). pref.reset:|:Reset Preferences - reset the user settings. Repopulate the panel (described below). status:|:Add a status bar. Add a label to the status bar. menu:|:Add a menu to the form. menu.file:|:Add a top level menu named File. menu.tall:|:Add an item for opening a tall child. menu.tall.init:|:Send the value of the width value from the preferences to the constructor of the tall child. child.tall.color:|:Update the status bar when the color changes for a tall child. child.tall.focus:|:When focus is on a tall child, show the word TALL in the status bar along with the current background color of the child. menu.wide:|:Add an item for opening a wide child. menu.wide.init:|:Send the value of the width value from the preferences to the constructor of the wide child. child.wide.color:|:Update the status bar when the color changes for a wide child. child.wide.focus:|:When focus is on a wide child, show the word WIDE in the status bar along with the current background color of the child. menu.close:|:Add an item for closing the application. menu.help:|:Add a top level menu named Help. menu.oath:|:Add a menu Oath to the Help menu. oath.modeless:|:Display the oath as a new modeless form. oath.single:|:Only allow one Oath dialog to be open at one time. oath.loc:|:Position the Oath dialog to the right of main window:  the right border of the main window should abut the left border of the new window; the tops of the windows should be at the same height from the top of the screen. oath.owned:|:Make this an owned form. menu.about:|:Add a menu item named About to the Help menu. about.modal:|:Display the about dialog a new modal form. about.loc:|:Position the about dialog below the main window:  the bottom border of the main window should abut the top border of the new window; the left borders of the windows should be at the same distance from the left edge of the screen. menu.pref:|:Add an item to the main menu, named Preferences, whose drop down is the context menu created above. Do not duplicate the items in the context menu, make the drop down of the new item the same as the context menu. Refer to the additional lecture notes on the class page for Inherited Menus menu.pref.context:|:Add an item to the main menu, named Preferences. menu.pref.drop:|:The preferences menu drop down should be the context menu created above. Do not duplicate the items in the context menu, make the drop down of the new item the same as the context menu. notify:|:Add a notify icon. notify.icon:|:Use your icon with your initials for the notify icon. notify.icon.code:|:Add the icon in code, so you can access the resources, instead of locating it in the file system. notify.context:|:Use your context menu for it. main.deactivate:|:When the main form is deactivated, make the form partially transparent. main.activated:|:When the main form is activated, make the form opaque. main.close:|:When the form closes, ask the user if they really want to close the application. main.close.confirm:|:Only close the application if the user confirms.