Exercise 1: C# Application, Painting Tool
The goal of this homework is to
gain experience in developing user interfaces using the C# programming language.
The basic principles learned here in C# will carry over to many other GUI
programming languages.
Develop a simple graffiti application that enables users to paint pictures using the mouse.
User required features are:
- painting using a paintbrush tool (by click-and-drag on the painting
canvas).
- controlling the color of the paint for the paintbrush; multiple
colors can be used in a single picture.
- controlling the width of the paintbrush with a slider.
- unlimited "undo" of paint actions.
- selective deletion of paint actions -- clicking on/near previous paint
actions deletes them (this is the hard one, save for last).
- clearing the canvas.
- show an "About" popup dialog box that displays your name.
Also, the application window containing the paint canvas must:
- be resizable (with the paint canvas resizing to fill the available window
space).
- not lose the current painted picture when the window is resized or
manipulated in any way.