Этап 4. Разработка прикладного окна
Наступил этап разработки, когда появится прикладное окно приложения с перемещающимися шарами.
Наследовав класс Form или Frame, класс Balls существенно расширит свою функциональность. Теперь можно создать прикладное окно (основную форму) и дочернее окно (дочернюю форму). Но дочернее окно будет создано потом в классе User, порождённым из класса Balls. Диаграмма классов и реализация этого этапа представлены на рис. 5.3.4.1 и в примерах 5.3.4.1 и 5.3.4.2.
Рис. 5.3.4.1.Диаграмма классов Balls–приложения четвёртого этапа
Пример 5.3.4.1. Реализация четвёртого этапа разработки Balls–приложения на языке C#.
////////////////////
// C# File Balls4Cs.cs
// Файл BallsCc4.cs полностью включает файл BallsCs3.cs, дополнив его
// данными класса Ball и класса Balls, необходимыми для рисования шаров.
// В результате наследования класса Balls из базового класса Form появилось
// прикладное окно, свойства которого установлены в конструкторе класса
// Balls. Переопределена функция OnPaint перерисовки. Функция HandlerEv,
// реагируя на событие ev из потоков, вызывает перерисовку шаров.
// Изменения файла BallsCs3.cs выделены жирным шрифтом
//
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
delegate void delEv ( );
class Ball // Класс обычного объекта
{
public event delEv ev;
public int x, y;
public int w, h;
public int dx, dy;