Чтение онлайн

на главную

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №9
Шрифт:

get

{

return(next);

}

set

{

next = value;

}

}

public TwoLinkable Prev

{

get

{

return(prev);

}

set

{

prev = value;

}

}

}//class TwoLinkable

}

Организация интерфейса

Создадим теперь интерфейс, позволяющий конечному пользователю работать с объектами наших классов. Как всегда, интерфейс

создавался вручную в режиме проектирования. На форме я создал меню с большим числом команд и инструментальную панель с 18 кнопками, команды которых повторяли основную команду меню. Описывать процесс создания интерфейса не буду — он подробно рассмотрен в предыдущей главе. Поскольку вся работа по созданию интерфейса транслируется в программный код формы, то просто приведу этот достаточно длинный текст почти без всяких купюр:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentMode1;

using System.Windows.Forms;

using System.Data;

using Shapes;

namespace Final

{

/// <summary>

/// Эта форма обеспечивает интерфейс для создания,

/// рисования, показа, перемещения, сохранения в списке

/// и выполнения других операций над объектами семейства

/// геометрических фигур. Форма имеет меню и

/// инструментальные панели.

/// </summary>

public class Form1 System.Windows.Forms.Form

{

//fields

Graphics graphic;

Brush brush, clearBrush;

Pen pen, clearPen;

Color color;

Figure current;

TwoWayList listFigure;

private System.Windows.Forms.MainMenu mainMenu1

private System.Windows.Forms.ImageList imageList1;

private System.Windows.Forms.ToolBar tooiBar1

private System.Windows.Forms.MenuItem menuItem1

// аналогичные определения для других элементов меню

private System.Windows.Forms.MenuItem menuItem35;

private System.Windows.Forms.ToolBarButton toolBarButton1;

// аналогичные определения для других командных кнопок

private System.Windows.Forms.ToolBarButton toolBarButton18;

private System.ComponentMode1.IContainer components;

public Form1

{

InitializeComponent ;

InitFields;

}

void InitFields

{

graphic = CreateGraphics ;

color = SystemColors.ControlText;

brush = new SolidBrush(color);

clearBrush = new SolidBrush(SystemColors.Control);

pen = new Pen (color);

clearPen = new Pen(SystemColors.Control);

listFigure = new TwoWayList;

current = new Person (20, 50, 50);

}

/// <summary>

/// Clean up any resources being used.

/// </summary>

protected override void Dispose(bool disposing)

{

if(disposing)

{

if (components!= null)

{

components.Dispose ;

}

}

base.Dispose(disposing);

}

#region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support — do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent

{

//

Код, инициализирующий компоненты и построенный

// дизайнером, опущен

}

#endregion

/// <summary>

/// Точка входа в приложение — процедура Main,

/// запускающая форму

/// </summary>

[STAThread]

static void Main

{

Application.Run(new Form1);

}

private void menuItem7_Click(object sender, System.EventArgs e)

{

createEllipse ;

}

void createEllipse

{

//clear old figure

if (current!= null) current.Show(graphic, clearPen, clearBrush);

//create ellipse

current = new Ellipse (50, 30, 180,180);

}

private void menuItem8_Click(object sender, System.EventArgs e)

{

createCircle ;

}

void createCircle

{

//clear old figure

if (current!= null) current.Show(graphic, clearPen, clearBrush);

//create circle

current = new Circle (30, 180, 180);

}

private void menuItem9_Click(object sender, System.EventArgs e)

{

createLittleCircle ;

}

void createLittleCircle

{

//clear old figure

if (current!= null) current.Show(graphic, clearPen, clearBrush);

//create littlecircle

current = new Littlecircle (180, 180);

}

private void menuItem10_Click(object sender, System.EventArgs e)

{

createRectangle ;

}

void createRectangle

{

//clear old figure

if (current!= null) current.Show(graphic, clearPen, clearBrush);

//create rectangle current = new Rect(50, 30, 180,180);

}

private void menuItem11_Click(object sender, System.EventArgs e)

{

createSquare;

}

void createSquare

{

//clear old figure

if (current!= null) current.Show(graphic, clearPen, clearBrush);

//create square

current = new Square(30, 180,180);

}

private void menuItem12_Click (object sender, System.EventArgs e)

{

createPerson ;

}

void createPerson

}

//clear old figure

Поделиться:
Популярные книги

Черный Маг Императора 13

Герда Александр
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 13

Последняя Арена 4

Греков Сергей
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 4

Маяк надежды

Кас Маркус
5. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Маяк надежды

Великий перелом

Ланцов Михаил Алексеевич
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Великий перелом

Сопротивляйся мне

Вечная Ольга
3. Порочная власть
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Сопротивляйся мне

Инквизитор Тьмы 2

Шмаков Алексей Семенович
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 2

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

"Дальние горизонты. Дух". Компиляция. Книги 1-25

Усманов Хайдарали
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Дальние горизонты. Дух. Компиляция. Книги 1-25

Ох уж этот Мин Джин Хо 2

Кронос Александр
2. Мин Джин Хо
Фантастика:
попаданцы
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 2

Энфис 6

Кронос Александр
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 6