Этап 4. На дочерних формах рисуются круг и текст

К курсовой работе 2-го курса

Поэтапная разработка простой программы, состоящей из трех окон на языке C#

Задание

Разработать программу, состоящую из прикладного окна Upr и двух дочерних окон: Model и Info.

Прикладное окно Upr содержит одну кнопку Ок.

В дочернем окне Model рисуется круг синего цвета.

В дочернем окне Info выдается строка, указывающая толщину линии круга.

При нажатии на кнопку Ок изменяется (увеличивается или возвращается к прежнему размеру) толщина круга в дочернем окне Model и размер этой толщины выдается в строке дочернего окна Info.

О программе

В программе создадим поэтапно три объекта-окна и объект-кнопку. При нажатии на кнопку специальная функция-обработчик этой кнопки определит размер толщины круга и передаст этот размер дочерним окнам и потребует перерисовать круг и строку.

Программу разработаем поэтапно.

На первом этапе создадим прикладное окно Upr. Убедившись, что в выполняющейся программе появилось окно, перейдем ко второму этапу разработки.

На втором этапе создадим дочерние окна Model и Info. Дочерние окна создадим с помощью оператора new в конструкторе прикладного окна.Таким образом, объект прикладного окна содержит два объекта дочерних окон. Убедившись, что в выполняющейся программе появились и дочерние окна, перейдем к третьему этапу разработки.

На третьем этапе создадим в прикладном окне объект-кнопку but. Убедившись, что в выполняющейся программе появилась кнопка в прикладном окне, перейдем к четвертому этапу разработки.

На четвертом этапе изменим объекты дочерних окон Model и Info.

Теперь в дочернем окне Model рисуется круг, а в дочернем окне Info выдается строка, указывающая толщину круга. Убедившись, что в выполняющейся программе в дочерних окнах появились круг со строкой, перейдем к пятому этапу разработки

Пятый этап интересный. Здесь мы реализуем функцию –обработчик ClickBut() кнопки. Для чего воспользуемся событием Click кнопки и делегатом EventHandler. В обработчике ClickBut(), используя ссылки mod и inf на объекты дочерних окон, изменим толщину d круга и выполним функции Invalidate() этих окон, обеспечивающих выполнение функций OnPaint() перерисовки этих окон.

Этап 1. Каркас приложения с основной формой

using System;

using System.Drawing;

using System.Windows.Forms;

namespace csKurs2_1

{

class Model: Form

{

}

class Inf: Form

{

}

public class Upr : System.Windows.Forms.Form

{

public Upr ( )

{

this.Size = new System.Drawing.Size(300,300);

this.Text = "Upr";

}

[STAThread]

static void Main()

{

Application.Run(new Upr());

}

}

}

Приложение содержит три окна, порождённых из класса Form. Классы Model и Inf пустые и на данном этапе не задействованы. Используется только основной класс Upr, объект которого создаётся в аргументе статической функции Run класса Application. Функция Run высвечивает его в виде прикладного окна на экране. В конструкторе класса Upr прикладному окну присваивается заголовок и задаются его размеры.

Этап 2. Основная форма имеет две дочерние формы

. . .

public class Upr : System.Windows.Forms.Form

{

public Upr ( )

{

this.Size = new System.Drawing.Size(300,300);

this.Text = "Upr";

Model mod= new Model ( );

mod.Text= "Model";

Mod.Show ( );

Inf inf= new Inf ( );

inf.Text= "Information";

Inf.Show ( );

}

[STAThread]

static void Main()

{

Application.Run(new Upr());

}

}

}

Конструктор Upr основной формы создаёт объекты дочерних форм, определяет их заголовки и показывает эти формы на экране с помощью функции Show из наследуемого класса Form.

Этап 3. На основной форме появляется кнопка

. . .

public class Upr : System.Windows.Forms.Form

{

Model mod;

Inf inf;

Button but;

public Upr ( )

{

this.Size = new System.Drawing.Size(300,300);

this.Text = "Upr";

but= new Button ( );

but.Text="OK";

but.Location= new Point (10,10);

but.Size= new Size(30,20);

This.Controls.Add (but);

. . .

}

[STAThread]

static void Main()

{

Application.Run(new Upr());

}

}

}

Создана кнопка but типа Button и подсоединена к управляющим элементам основной формы с помощью свойства Controls.

Этап 4. На дочерних формах рисуются круг и текст

using System;

using System.Drawing;

using System.Windows.Forms;

namespace csKurs2_4

{

class Model: Form

{

private int d=3;

Наши рекомендации