COP4226, Homework 1

Due Friday, October 18 (not late until 6am 10/19)

Create a Multiple Document Interface application. The app will open child windows that are either ellipses or rectangles. The height of each will be determined by a ratio that is set by the user. The child windows can have different colors and can be moved by the mouse.

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.

Use properties to encapsulate implementation details.

Use meaningful names for all variables. Any variable that ends with a number will lose points.

Do not create a new data structure, event, property if one that already exists will solve the problem.

Settings

Add to the project settings. In the program, use properties to encapsulate the settings.

Resources

Add to the project resources.

Control Library

Add a project for a control library to the solution. Only add one control library: it will contain three controls and two forms.

Interfaces

Use interfaces to encapsulate implementation details. Design code so that the implementation details of data could be changed in the future without having to rewrite all the code that accesses that data.

Oath Dialog

Create a dialog in the main application that will display the pledge of honesty.

About Dialog

Create a dialog in the main application that will display a description of the assignment.

Preferences Dialog

Create a dialog in the main application that will be used to gather information from the user.

Login Dialog

Display a dialog before the application is run.

Elliptic Child

Add a form in the main application that extends the moveable base form.

Rectangular Child

Add a form in the main application that extends the moveable base form.

Main Form

Modify the main form for the project.

Upload Assignment

Zip your entire project and upload on the web. Exclude the Debug and Release directories.
Submitting Homework Online.

Be sure to include your control library in your uploaded file.