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

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 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

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

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Выйду замуж за спасателя

Рам Янка
1. Спасатели
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Выйду замуж за спасателя

Наследник

Шимохин Дмитрий
1. Старицкий
Приключения:
исторические приключения
5.00
рейтинг книги
Наследник

Башня Ласточки

Сапковский Анджей
6. Ведьмак
Фантастика:
фэнтези
9.47
рейтинг книги
Башня Ласточки

Неудержимый. Книга XVII

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

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

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Попаданка в Измену или замуж за дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Попаданка в Измену или замуж за дракона

Купи мне маму!

Ильина Настя
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Купи мне маму!

Случайная свадьба (+ Бонус)

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Случайная свадьба (+ Бонус)

Наследница долины Рейн

Арниева Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Наследница долины Рейн

Сын Багратиона

Седой Василий
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Сын Багратиона

Лекарь для захватчика

Романова Елена
Фантастика:
попаданцы
историческое фэнтези
фэнтези
5.00
рейтинг книги
Лекарь для захватчика