Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ванеев О.Н. МУ к ЛР1 по ТИПИС.doc
Скачиваний:
2
Добавлен:
13.08.2019
Размер:
96.77 Кб
Скачать

2.3 Использование свойств

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

Leftobject =2;

При этом происходит выполнение действия связанного с записью в данное поле.

Описание свойства имеет следующий формат.

УровеньДоступаК_Свойству ТипСвойства ИмяСвойства

{

set { ДействияВыполняемыеПриЗаписиВ_свойство

}

get { действияВыполняемыеПриЧтениии

return Выражение;

}

}

Где set – ключевое слово, указывающее, на действия, выполняемые, при записи данных в свойство.

get – ключевое слово, указывающее, на действия, выполняемые, при чтении данных из поля .

3 Порядок выполнения работы

Данная лабораторная работа предполагает выполнение следующих этапов:

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

2) Создать классы, соответствующие заданию.

3) Создать переменные для экземпляров классов, создать в обработчике управляющей кнопки оператор создания экземпляра класса.

4) Создать метод, меняющий положение отображаемых объектов, связать его с событием Click данных объектов.

5) Оформить и защитить отчет по лабораторной работе

4 Варианты задания

Заданием для работы является начальная создание проекта, в котором при нажатии кнопки будет создаваться на форме объект виде, соответствующем варианту задания. Варианты заданий отображены в табл. 4.1.

Таблица 4.1

Варианты задания

1 .

2 .

3 .

4 .

5 .

6

Вариант 6

.

7 .

8 .

9 .

1

Вариант 10

0.

1 1.

1

Вариант 10

2.

5 Содержание и форма отчета

Отчетом по данной работе является проект приложения выполненный в программной среде.

При разработке приложения должны выполняться следующие требования:

1) имя проекта и модуля должно отображать содержание задания;

2) проект должен быть сохранен в рабочей директории студента;

3) программный модуль должен содержать подробные комментарии в частности, должны быть отмечены элементы класса, соответствующие основным элементам объекта (атрибутам, действиям, событиям);

4) действия, выполняемые в конструкторе, должны иметь комментарии (должны быть прокомментированы все методы и процессы в них отображаемые).

6 Пример выполнения работы

Рис. 6.1 Пример задания на лабораторную работу

Для выполнения задания был создан класс MyLabel, в котором объединяются четыре объекта класса Label, которые будут отображаться на форме.

- Sender, тип Control – ссылка на объект (в нашем случае форма) на котором будет отображаться объект данного класса.

- x, y, тип int – начальные координаты для отображения объекта данного класса

- Left - величина отступа от левого края в объекте

- Top - величина отступа от верхнего края в объекте

- Height - высота объекта Label

- Width - ширина объекта Label

- BackColor – цвет фона объекта Label

Исходный код класса MyLable:

namespace TIPIS_IT0ХХ_Laba1_Vaneev

{

class MyLabel // объявление класса

{

private Label label_Telo, label_Golova, label_noga1, label_noga2;

public MyLabel(Control sender, int x, int y)

{

label_Telo = new Label(); //создание объекта

label_Telo.Parent = sender; //наследие на вызываемый объект

label_Telo.Width = 50; //размеры объекта

label_Telo.Height = 20;

label_Telo.Left = x; //начальные координаты

label_Telo.Top = y;

label_Telo.BackColor = Color.Green; //цвет фона

label_Telo.Click += new EventHandler(label_Telo_Click);

label_Golova = new Label();

label_Golova.Parent = sender;

label_Golova.Width = 25;

label_Golova.Height = 40;

label_Golova.Left = label_Telo.Left+label_Telo.Width;

label_Golova.Top = y+label_Telo.Height-label_Golova.Height;

label_Golova.BackColor = Color.Blue;

label_Golova.Click += new EventHandler(label_Golova_Click);

label_noga1 = new Label();

label_noga1.Parent = sender;

label_noga1.Width = 10;

label_noga1.Height = 20;

label_noga1.Left = label_Telo.Left + 5;

label_noga1.Top = label_Telo.Top + label_Telo.Height;

label_noga1.BackColor = Color.Red;

label_noga1.Click += new EventHandler(label_noga1_Click);

label_noga2 = new Label();

label_noga2.Parent = sender;

label_noga2.Width = 10;

label_noga2.Height = 20;

label_noga2.Left = label_Telo.Left - label_noga2.Width + label_Telo.Width - 5;

label_noga2.Top = label_Telo.Top + label_Telo.Height;

label_noga2.BackColor = Color.Red;

label_noga2.Click += new EventHandler(label_noga2_Click);

}

На форме создаем кнопку «Пуск», по нажатию на которую, создается объект класса MyLabel. В результате на форме отобразятся в определенном порядке четыре объекта класса Label.

Исходный код метода, который обрабатывает событие нажатие на кнопку:

void label_noga2_Click(object sender, EventArgs e)

{

label_Telo_Click(sender, e);

}

void label_noga1_Click(object sender, EventArgs e)

{

label_Telo_Click(sender, e);

}

void label_Golova_Click(object sender, EventArgs e)

{

label_Telo_Click(sender, e);

}

void label_Telo_Click(object sender, EventArgs e)

{

label_Golova.Left += 2;

label_noga1.Left += 2;

label_noga2.Left += 2;

label_Telo.Left += 2;

}

}