Свойства, настраиваемые для компонентов-списков

Лабораторная работа № 6

Создание проектов с визуальными элементами пользовательского
интерфейса: списками, редакторами.

 

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

Ход работы:

1. Прочитайте свой вариант задания (см. ниже). Запишите в отчёт, что дано и что надо найти, с указанием типов исходных данных и результатов.

2. Продумайте, какие элементы интерфейса необходимо разместить на форме, чтобы обеспечить удобную и наглядную работу пользователя. Интерфейс должен включать список listBox или comboBox и многострочный редактор richTextBox.

3. Настройте элементы интерфейса. Скопируйте в отчёт скриншот формы на этапе конструирования и надпишите компоненты с указанием их типов.

Например, интерфейс может выглядеть так:

 

label4
comboBox1
textBox1-3
label2
label1
label3
button2
button1
richTextBox1
 

Рис. 5

 


Указания:



Свойства, настраиваемые для компонентов-списков

  Компонент ListBox представляет собой список, в котором можно выбрать нужный элемент. Свойство Items задает элементы списка – строки, их можно внести с помощью специального редактора. Свойство Items.Count определяет количество элементов списка. Свойство Sorted – признак необходимости автоматической сортировки списка после добавления в него очередного элемента, это свойство может принимать значения true-надо сортировать, или false-не надо сортировать.

 

 

Свойство SelectedIndex отвечает за номер выбранного элемента списка (строки нумеруются с нуля). Если в списке ни один элемент не выбран, то значение свойства равно -1. Свойство SelectedItem позволяет получить содержимое (текст) выбранной строки.

Свойство SelectionMode определяет режим выбора элементов списка: One-можно выбрать только один элемент, MultiSimple-можно выбрать несколько элементов, щёлкнув по ним мышью, MultiExtended-можно выбрать несколько элементов, для выделения можно использовать клавиши Ctrl (отдельные элементы списка) и Shift (непрерывная область списка). Свойство MultiColumn – признак необходимости отображать список в несколько колонок.

 

Вид компонента ListBox в одну и в две колонки:

 


 

К спискам можно применять следующие методы:

Add() – добавляет в список новый элемент;

Clear() – очищает список;

Contains() – проверяет, содержится ли указанный элемент в списке;

Insert() – вставляет элемент в список по указанному индексу;

IndexOf() – возвращает номер указанного элемента.

 


Например:  

listBox1.Items.Clear();

listBox1.Items.Add(textBox1.Text);

listBox1.Items.Insert(0, "Орёл");

if (listBox1.Items.Contains("Москва")) label1.Text="Есть!";

label2.Text = listBox1.Items.IndexOf("Москва").ToString();

Компонент ComboBox дает возможность ввести данные в поле редактирования путём набора на клавиатуре или выбрать из списка. Свойство DropDownStyle определяет вид компонента: DropDown-поле ввода и раскрывающийся список, Simple-поле ввода со списком, DropDownList-раскрывающийся список.

 Свойство Text позволяет взять текст, находящийся в поле редактирования. Свойство Items задает элементы списка – строки, их можно внести с помощью специального редактора. Свойство Items.Count определяет количество элементов списка. Свойство Sorted – признак необходимости автоматической сортировки списка после добавления в него очередного элемента. Свойство SelectedIndex отвечает за номер выбранного элемента списка (строки нумеруются с нуля). Если в списке ни один элемент не выбран, то значение свойства равно -1. Свойство MaxDroupDownItems задает количество отображаемых элементов в раскрытом списке. Если количество элементов списка больше, чем MaxDroupDownItems, то появляется вертикальная полоса прокрутки.

 

Вид компонента ComboBox в режиме отображения DropDown и DropDownList:

 

4. Разработайте описание класса в соответствие с условием задачи вашего варианта. Включите в описание класса следующие методы: конструктор, метод Show() для формирования строки для печати данных экземпляра класса, свойство для чтения значения скрытого поля, необходимого для расчёта.

5. Разработайте алгоритм основного метода нажатия на кнопку «Добавить».

6. Создайте методы обработки событий нажатия на кнопку «Добавить» и кнопку «Сброс», внесите необходимые команды в тело методов.

7. При попытке закрытия окна приложения программа должна предлагать пользователю сохранить информацию в текстовый файл (по выбору). Добавьте компонент saveFileDialog, настройте его свойства. Добавьте необходимые команды в код программы.

8. Запустите проект на компиляцию. При необходимости исправьте синтаксические ошибки, выявленные на этапе компиляции.

9. Подготовьте несколько тестовых примеров для проверки работоспособности программы. Разработайте план испытаний программы, оформите его в виде таблицы (см. таблицу 4)

10. Запустите проект на выполнение. Протестируйте программу в соответствие с планом испытаний. Отследите, какие ошибки выполнения возникают при недопустимости исходных данных, подумайте, как их можно предотвратить.Добавьте методы проверки правильности ввода данных нужного типа в поля ввода, используя созданный ранее шаблон кода.

11. Протестируйте ещё раз программу.

12. Добавьте комментарии в код программы. Перенесите в отчёт текст модуля с комментариями.

Таблица 4. Пример оформления плана испытаний.

Проверяемые требования Сообщения программы и вводимые значения Результаты
Способность программы обеспечить ввод исходных данных Ввести фамилию сотрудника Ввести год рождения (целое число без знака, не более 4 цифр) Ввести стаж работы (целое число без знака) Выбрать должность (из падающего списка). Вводимые числовые значения отображаются в полях ввода. Отображается падающий список, выбранная должность выделяется голубым фоном.  
Способность программы обеспечить контроль вводимых данных Попробовать ввести в первое поле буквы, специальные символы, знак минус, вместо разделителя точку, несколько запятых. Попробовать ввести во второе поле буквы, специальные символы, знак минус, запятую. В первом поле допустимы только цифры, клавиша BackSpace и одна запятая. Во втором поле допустимы только цифры и клавиша BackSpace. Недопустимые символы клавиатуры блокируются и не отображаются в полях ввода.
Способность программы обеспечить контроль пустых полей ввода Попробовать оставить одно поле ввода пустым и нажать на кнопку «Добавить». Сообщение об ошибке: «Неверный формат данных!». После закрытия окна сообщения можно продолжать работу с приложением.
Способность программы производить расчет среднего возраста сотрудников и обеспечивать вывод результатов на экран Ввести фамилию сотрудника Ввести год рождения (целое число без знака, не более 4 цифр) Ввести стаж работы (целое число без знака) Выбрать должность (из падающего списка). Нажать на кнопку «Добавить». Фамилии сотрудников, год рождения, стаж, должность добавляется в многострочный редактор, каждый с новой строки. Отдельно в поле вывода печатается средний возраст сотрудников.
Способность программы производить сброс полученной суммы Нажать на кнопку «Сброс». Очищаются все поля ввода и поле многострочного редактора. Сумма обнуляется.
Способность программы выполнять расчёт среднего возраста  после сброса После нажатия на кнопку «Сброс» продолжить вводить данные о новых сотрудниках. Фамилии сотрудников, год рождения, стаж, должность добавляется в многострочный редактор, каждый с новой строки. Отдельно в поле вывода выводится средний возраст сотрудников.
Способность программы выполнять сохранение данных в текстовый файл по выбору пользователя   Нажать на кнопку «Сохранить». В появившемся диалоговом окне выбрать месторасположение файла и ввести имя файла. Нажать на кнопку «Ok» Содержимое текстового редактора сохраняется в указанный текстовый файл.

Подведение итогов лабораторной работы:

Результатом выполнения лабораторной работы должен быть проект, сохранённый в отдельной папке, и отчёт. Отчёт должен содержать:

ü название лабораторной работы, цель работы;

ü текст вашего задания с указанием номера варианта;

ü что дано и что требуется найти в задаче с указанием типов данных;

ü скриншот формы с надписанными компонентами;

ü алгоритм основной процедуры (нажатия на кнопку «Добавить»);

ü текст модуля с комментариями;

ü план испытаний;

ü скриншоты проекта на этапе выполнения, в соответствии с планом испытаний;

ü колонтитулы с вашей фамилией и номером группы.

Продемонстрируйте результаты работы преподавателю и получите оценку.

Контрольные вопросы:

1. Чем отличается вызов статического метода класса и динамического метода класса?

2. В чём отличие внешнего вида и использования элементов пользовательского интерфейса listBox и comboBox?

3. Какие стандартные методы компонента многострочный редактор вы использовали в программе?

4. Для чего составляется план испытаний, что в него нужно включать?





Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: