Project

Due Thursday, April 19 at 11:59 pm.

Make sure your application is object oriented!

If you have written a helper method that has many references to the members of a class, then perhaps there should be a method for this operation in your class. I will be looking for object oriented design when I grade the assignment.

Create a Multi-SDI Application

Feautures

Tooltip - Everything that can have a tooltip should have a tooltip. This includes all input elements, buttons, menu items, toolbar icons. Everything.

Help - Everything that can have help should have help. This includes all input elements, buttons, menu items, toolbar icons. Everything. Any element that can obtain focus should be able to have help appear when F1 is pressed.

Dialogs - Each dialog should have the help button enabled and help active. All dialogs should validate input before proceeding with a button action, except for the cancel button and the close button (the X in the title bar). In those cases, no validation should be done. When invalid data is present, use an error provider to display an icon. Validate all data in a dialog, at the same time.

Menus - It is your responsibility to create the main menu for this assignment. Add options for each part of the assignment. Organize the items appropriately. Throughout the previous assignments, menu items were often checked or disabled; it is your responsibility to make your menu items as user-friendly as possible.

Top Level Form - Be able to perform the following tasks for the top level forms.

Add a data class to your project

Document

Data Dialog

Command-line Arguments - Treat all command line arguments as the names of files that have already been saved by this application.

Draw View

Grid View

Thread - Search the local hard drive, in a separate thread, looking for files with the .txt extension. When one is found, add it to a list in the document.

Printing - Print the document with a header and a footer on each page. Place the page number at the bottom right corner of each page.

Drag and Drop - Enable text to be dragged into either view.

Paste - Enable text to be pasted into either view.

Notify Icon

Find Dialog - Modeless Dialog. Search through all the data elements looking for criteria. For each data element that matches the search criteria, draw its background with a hatched brush. When the dialog is reopened, reset the background of each data element. Only allow one Find dialog to be open at a time.