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

на главную

Жанры

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

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

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Идеальный мир для Социопата 2

Сапфир Олег
2. Социопат
Фантастика:
боевая фантастика
рпг
6.11
рейтинг книги
Идеальный мир для Социопата 2

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Дело Чести

Щукин Иван
5. Жизни Архимага
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Дело Чести

Снегурка для опера Морозова

Бигси Анна
4. Опасная работа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Снегурка для опера Морозова

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Дядя самых честных правил 7

Горбов Александр Михайлович
7. Дядя самых честных правил
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Дядя самых честных правил 7

Муж на сдачу

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Муж на сдачу

Книга пяти колец. Том 2

Зайцев Константин
2. Книга пяти колец
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Книга пяти колец. Том 2

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

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

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

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Счастливый торт Шарлотты

Гринерс Эва
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Счастливый торт Шарлотты