Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Визуальное проектирование диалогового окна




Внешний вид работающего приложения с описанием использованных компонентов приведен на рисунке 3.2.

 

Рисунок2.2. Пример работающего приложения

 

Для счетчиков XnumericUpDown и YnumericUpDown устанавливаются следующие дополнительные свойства:

 

Свойство Значение Описание
Minimum -100 Минимальное значение компонента
Maximum 100 Максимальное значение компонента
Increment 0,1 Шаг увеличения или уменьшения
DecimalPlaces 1 Количество знаков после запятой при отображении

 

Для таблиц данных dataGridView1 и dataGridView2 устанавливаются следующие дополнительные свойства:

 

Свойство Значение Описание
ColumnHeadersHeight-SizeMode AutoSize Регулирует высоту заголовков столбцов
EditMode EditProgrammatically Режим редактирования данных (здесь – только программно)
Columns редактируется Столбцы таблицы

 

Для добавления столбцов в таблицу следует нажать кнопку  свойства Columns. Откроется диалоговое окно, где нужно добавлять и устанавливать свойства столбцов таблицы (рис. 2.3).

 

Рисунок2.3. Окно редактирования столбцов таблицы

 

В нашем случае добавляются 2 столбца с именами х и y (свойства Name и HeaderText) и для них отменяется режим автоматической сортировки строк (свойство SortMode устанавливается равным NotSortable).

 

Проектирование программного кода

Разработка класса точки

Проектирование кода начинается с разработки класса, представляющего собой структуру точки. Чтобы добавить класс, нужно выбрать пункт меню Project->AddClass…, в появившемся диалоговом окне снова выбрать «Class» и указать имя создаваемого файла (и класса). В нашем случае класс называется «Point».

Так как в задании необходимо реализовать сортировку списка точек по одной из координат, программе (а именно методу Sort) необходимо явно указать, по какому именно признаку (по какой координате) следует производить сравнение точек при сортировке. Для этого нужно, чтобы класс реализовывал интерфейс IComparable.

Созданный класс будет содержать следующие компоненты:

- два закрытых поля типа float, задающих координаты точки;

- конструктор с двумя параметрами, инициализирующий эти поля;

- два открытых свойства для доступа к полям (чтения и установки им значений);

- реализацию открытого метода CompareTo, описанного в интерфейсе IComparable и задающего способ сравнения объектов класса. Этот метод возвращает целочисленное значение: положительное, если вызывающий объект больше объекта параметра, отрицательное, если меньше, и ноль, если объекты равны. Именно в этом методе мы указываем, что сравнение точек должно производиться по координате х.

Ниже приведен листинг описания класса Point:

//классреализуетинтерфейс IComparable

Class Point : IComparable

{

float X; //координатыточки

float Y;

//конструкторкласса

public Point(float X, float Y)

{

   this.X = X;

   this.Y = Y;

}

//свойство для доступа к координате х

Public float x 

{

   get { return X; } //получитьх

set { X = value; } //установить х

}

//свойство для доступа к координате y

Publicfloaty

{

get { returnY; } //получить y

set { Y = value; } //установить y

}

//установить способ сравнения объектов-точек










Последнее изменение этой страницы: 2018-06-01; просмотров: 204.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...