Program 3: MDI Applications
Learning Objectives for Program 3
After completion of Program 3, you should have demonstrated the use of
- MDI Parent and Child Classes in a Windows Application
- MenuStrip control to provide access to the range of features
- ToolStrip control to provide graphical shortcuts to frequently used actions
Assignment
Create a C# Windows MDI application that could serve as part of an Student Java Programming IDE for CS 110 students at CWU.
The Parent class will represent a Java IDE. Let students open new Java classes (child forms) to in the IDE that allow them to type in and edit Java source code.
Include menus, toolbars, and other features that a beginning Java student might need, without overwhelming them with too many options. The design is left up to you, but see the sample screen snapshot below for a idea of a minimalist implementation.
- Required Menus
- Include a File Menu with New, Open, Close, Save As, and Exit menu items working correctly (see Lab 3 and Lab 4)
- Include a Window Menu with Cascade, Tile Horizontally, Tile Vertically, Close, and Close All working
- Include an Edit Menu with Undo, Cut, Copy, Paste, and Select All working correctly
- Include other menus with items that you think would benefit a beginning Java programmer.
These can be non-functioning items included as a prototype
- Included a Toolbar with icons for frequently used actions required by a CS 110 student.
Icons can be found on your hard disk, over the Internet, created by hand, or in this zipped folder of standard icon images .

Note: this is a prototype. You do not need to compile or execute the Java programs that the users enter, but you should include the appropriate menu and menu items for types of tasks that they will need to perform.
Submission Requirements
- The programming assignment is due in one week, at the start of Lab
- Print out a screen capture (use ALT-PrintScreen and paste into Word) of your IDE with two Java files open and some Java source typed in by the user.
- Annotate (neatly handwritten is OK) your printout by listing the problems remaining to help with grading. For example, required menu items and toolbar button events that are not yet working correctly
- Write your name, your cs446 account number, and total completion time on your screen capture printout.
- The project will be checked online so be sure your solution is stored in your cs446 account in folder
U:\Programs\nnProgram3 where nn is your student account number
Grading Criteria
50 points maximum
The assignment will be scored using the following criteria:
- 35 points - Required GUI Components
- Main Menu is present with basic functionality working (20)
- File > New, Open, Save As, Exit
- Edit > Undo, Cut, Copy, Paste, SelectAll
- Window > Cascade, Tile Horizontal, Tile Vertical, Close, and Close All
- Help > About
- Toolbar is present with functionality working (10)
- New, Open, Save As, Cut, Copy, Paste
- MDI child classes are created correctly (5)
- Use the File Name in the title bar (if any)
- 10 points - Design of IDE
- Menus and menu items are reasonable complete and correctly categorized
- Consider your user: a beginning CS 110 Java Programmer and their needs
- You may wish to look at example IDE programs to get ideas for your menus and menu items, but the design should be your own
- Go with more features, rather than less. Do not design a minimalist solution
- Toolbar contains only frequently used items.
- Do not include all menu items on your toolbar.
- Do not include items on your toolbar that are not available from the menu.
- Each toolbar item needs to have an appropriate tooltip
- 5 points - Keyboard Access
- Access Keys provided for all menu items
- Short-cut keys provided for frequently used items
URL: http://www/cwu.edu /~gellenbe/446/labs/program3.php
Author: Ed Gellenbeck, Department of Computer Science, Central Washington University, gellenbe@cwu.edu
Copyright 2006 Ed Gellenbeck, Central Washington University
Last modified: March 26, 2008