- •1. Теоретические сведения
- •1.1. Принципы разработки пользовательского интерфейса
- •Формы, элементы управления и меню
- •Принципы дизайна интерфейса
- •1.2. Работа с формами
- •Добавление формы к проекту
- •Назначение стартовой формы
- •Выбор первоначального размещения формы
- •Изменение внешнего вида формы
- •1.3. Применение элементов управления и компонентов
- •1.5. Проверка данных, вводимых
- •2.2. Практическое задание
- •1.3. Задания для самостоятельного выполнения
2.2. Практическое задание
Разработка приложения Virtual Doughnut Factory
В этом практикуме вы создадите пользовательский интерфейс для приложения Virtual Doughnut Factory на Visual C#. Это приложение предназначено для управления виртуальной пекарней, в которой выпекаются пончики, и магазином, где их продают. Практикум поможет вам закрепить навыки применения элементов управления, конструирования меню и реализации проверки вводимых данных.
Упражнение 1. Создание пользовательского интерфейса
В этом упражнении вы создадите пользовательский интерфейс, добавив к форме необходимые элементы управления.
Создание нового проекта
1. Выберите язык, с которым вы будете работать - Visual C#.
Создайте новый проект на основе шаблона Windows Application и назовите его Joe's Doughnut Factory.
2. В результате будет создан проект с одной формой. В окне Solution Explorer щелкните Forml — окно Properties покажет свойства этой формы. Поменяйте значение свойства File Name на frmMain.
3. Задайте для свойств формы значения, указанные в таблице 2-2.
Таблица 2-2. Свойства первой формы проекта
4. Найдите метод static void Main() и внесите в него следующие изменения:
Visual C#
static void Main()
{
Application.Run(new frmMain());
}
5. Добавьте к форме следующие элементы управления и задайте для них свойства, указанные в таблице 2-3.
Таблица 2-3. Элементы управления формы frmMain и их свойства
6. В окне Properties добавьте к набору элемента управления cmbType следующие строки: Raised-Glazed, Raised-Sugar, Raised-Chocolate, Cake-Plain, Cake-Chocolate, Cake-Sugar, Filled-Lemon, Filled-Grape, Filled-Custard.
Примерный вид готовой формы показан на рис. 2-11.
Рис. 2-11. Пользовательский интерфейс с добавленными элементами управления
Упражнение 2. Создание меню
Сейчас вы создадите меню приложения при помоши компонента MainMenu и напишете обработчик события Click для элемента меню Exit.
Добавление меню к проекту
1. Дважды щелкните на панели Toolbox компонент MamMenu — этот компонент отобразится в области компонентов, а на месте меню на форме появится прямоугольное поле.
2. Введите в прямоугольное поле строку &File.
К меню добавится элемент File, а снизу и справа от него появятся пустые прямоугольные поля. Задайте клавишу доступа для элемента меню при помощи знака «&». В окне Properties назовите созданный элемент меню mnuFile.
3. Повторяя пункт 2, создайте элементы меню, указанные в таблице 2-4. Вложенные элементы меню указаны в таблице с отступом, они располагаются ниже соответствующих родительских элементов.
Таблица 2-4. Элементы меню
Создание обработчика события Click для элемента меню Exit
1. В окне дизайнера дважды щелкните элемент меню Exit — откроется окно кода с шаблоном обработчика события mnuExit_Click.
2. Вставьте в шаблон вызов метода Close формы:
private void mnuExit_Click(object sender, System. EventArgs e)
{
this.Close();
}
3. Сохраните приложение и протестируйте его.
Упражнение 3. Создание обработчиков, проверяющих вводимые данные
Сейчас вы напишете простые обработчики, проверяющие значение текстового поля txtQuantity, Для этого воспользуйтесь компонентом ErrorProvider. В следующем практикуме вы добавите к форме дополнительные процедуры, проверяющие вводимые данные.
1. Дважды щелкните на панели Toolbox компонент ErrorProvlder — он появится в области компонентов.
2. В окне дизайнера выберите поле txtQuantity; в окне Properties щелкните кнопку Events и дважды щелкните событие KeyPress — в редакторе кода откроется шаблон обработчика события txtQuantity_KeyPress.
3. Добавьте к обработчику код, отображающий сообщение об ошибке при вводе в поле любых символов, кроме цифр.
private void txtQuantity_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (Char,IsDigit(e.KeyChar) == false)
errorProvider1.SetError(txtQuantity, "Please enter a numeric value");
else
errorProvider1.SetError(txtQuantity, "");
}
4. В Solution Explorer щелкните правой кнопкой форму frmMain и выберите из контекстного меню команду View Designer. Выберите поле txtQuantity, в окне Properties щелкните кнопку Events, затем дважды щелкните событие Validating — редактор кода откроет шаблон обработчика соответствующего события.
5. Добавьте к обработчику код, проверяющий наличие в текстовом поле txtQuantity значение, а также допустимость введенного значения:
private void txtQuantity_Validating(object sender,
System.ComponentModel.Cancel EventArgs e)
{// Проверить, пусто ли поле.
if (txtOuantity.Text == "")
{
errorProvider1.SetError(txtQuantity, "Please enter a quantity");
e.Cancel = true;
}
// Проверить, допустимо ли введенное значение,
else if (errorProviderl.GetError(txtQuantity) != "")
e.Cancel = true;
else
errorProviderl.SetError(txtQuantity, "");
3. Задания для самостоятельного выполнения
Выполнить задание согласно варианту:
Выбрать необходимые компоненты.
Разработать алгоритм решения задачи.
Разработать приложение.