COP4226, Homework 4

Due Saturday, 12/7 (late 6am 12/8)

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.

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.

Multi-SDI Application

This application will be an example of a Multiple - Single Document Interface (Multi-SDI) application. It will create a better notepad that can open multiple windows. The improved notepad will also look for prime numbers. Perhaps the name for the application should be NotePrime.

Be sure that I cannot crash your program. This means that you will need to implement validation appropriately. Do not swallow exceptions! If something goes wrong, be sure that the appropriate exception is thrown.

Be sure that dialogs open in appropriate places. Use docking, anchoring, splitting, minimum and maximum sizes to control the appearance of your application. Use your base classes and user controls from previous homeworks to improve the appearance of your application.

Under no circumstances should any child form access any part of a parent. Use interfaces appropriately.

Implement encapsulation. Separate the view from the document.

Under no circumstances may a thread change a variable that is not local to the thread. The thread may not change parameters. The thread may access a member variable as long as no other thread accesses that member variable. This means that the DoWork method could intstantiate a variable, the worker could access it and the RunWorkerCompleted can access it. Just be sure that no other thread can access it.

Application Context

Use the Visual Basic application context.

Prime Thread

Allow an additional thread in the application that calculates prime numbers.

User Interface

Create a user interface for a text editor.

Main Application

The main application will handle editing of the document