Решение. Создайте новый проект Organizer в решении Lab12

Создайте новый проект Organizer в решении Lab12.

1-й этап: визуальное проектирование. Измените заголовок формы на “Ежедневник”, значение свойства Name на MainForm, размеры формы (Size) установите равными 700; 400.

Поместите на форму компонент SplitContainer, позволяющий разделить рабочую область приложения на две части. Измените значения свойств компонента следующим образом:

Свойство Значение
BorderStyle Fixed3D
Dock Fill
SplitterDistance  

На левую панель компонента SplitContainer поместите элемент управления TabControl, переименуйте его в OrgTabControl. Создайте вкладки данного компонента, для этого в окне свойств Properties найдите свойство TabPages, щелкните по кнопке с тремя точками в правой части второго столбца для открытия диалогового окна редактирования значений выбранного свойства.

В появившемсядиалоговом окне (рис. 12.2) необходимо добавить к двум существующим по умолчанию еще одну вкладку (с помощью кнопки Add), а затем установить значения свойств каждой вкладки следующим образом:

Компонент Свойство Значение
tabPage1 Name WorkTabPage
Text Работа
tabPage2 Name PersonalTabPage
Text Личное
tabPage3 Name CongrTabPage
Text Поздравить

Закройте диалоговое окно, нажав на кнопку Ok.

Положите на каждую вкладку ежедневника OrgTabControl компонент ListBox (список строк) для размещения заметок пользователя. Для этого выполните такую последовательность действий. Выберите вкладку “Работа” и щелкните внутри нее (при этом в окне свойств Properties будет выбран компонент WorkTabPage), в палитре компонентов выберите компонент ListBox и поместите его на текущую вкладку. Далее свойство Dock компонента listBox1 установите в Fill. Скопируйте компонент listBox1 в буфер обмена (щелкните по объекту listBox1 и выполните команду EditCopy).

На вторую страницу ежедневника поместите компонент listBox2. Для этого выберите вкладку “Личное” и щелкните внутри нее. Поместите копию компонента ListBox на страницу ежедневника, выполнив команду Edit – Paste. Повторите эту операцию для третьей страницы ежедневника.

Свойство Dock компонента OrgTabControl установите в Fill.

На правую панель компонента SplitContainer положите один компонент Label, один компонент TextBox и пять компонентов Button, расположите их так, как показано на рис. 12.1.

Установите свойства компонентов следующим образом:

Компонент Свойство Значение
Label1 Text Введите сообщение
TextBox Name RecordTextBox
Text  
Button1 Name AddButton
Text Добавить
Button2 Name ChangeButton
Text Изменить
Button3 Name DeleteButton
Text Удалить
Button4 Name ClearButton
Text Очистить
Button5 Name CloseButton
Text Закрыть

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

В таблице 12.1 перечислены некоторые свойства элемента управления DateTimePicker.

Таблица 12.1

Некоторые свойства элемента управления DateTimePicker

Свойство Описание
CalendarFont Возвращает или задает стиль шрифта, применяемый к календарю
CalendarForeColor, CalendarMonthBackground Возвращает или задает основной цвет / цвет фона календаря
Format Определяет формат даты и времени, отображаемых в элементе управления
MaxDate, MinDate Задает максимальное / минимальное значение даты и времени, которые могут быть выбраны в элементе управления
Text Получает или задает текст, сопоставленный с этим элементом управления
Value Возвращает или задает значение даты / времени, назначаемое элементу управления

При изменении значения свойства Value элемента управления DateTimePicker происходит событие ValueChanged.

На правую панель компонента SplitContainer положите один компонент DateTimePicker (см. рис. 12.1).

Установите значение свойства Font.Size всех компонентов на форме равным 10. Расположите компоненты красиво.

Итак, визуальное проектирование главной формы приложения завершено.

2-й этап. Написание программного кода.

После щелчка по кнопке “Добавить” содержимое окна редактирования (RecordTextBox) будет добавляться в список заметок на текущей странице ежедневника. Для операций со строками у компонента ListBox имеется свойство Items. Чтобы добавить строку в список, используется метод Add (). Создайте обработчик события Click для кнопки AddButton.

1-й способ

Обработчик события будет выглядеть следующим образом:

private void AddButton_Click(object sender, EventArgs e)

{

switch (OrgTabControl.SelectedIndex)

{

case 0: listBox1.Items.Add(RecordTextBox.Text); break;

case 1: listBox2.Items.Add(RecordTextBox.Text); break;

case 2: listBox3.Items.Add(RecordTextBox.Text); break;

}

RecordTextBox.Text = "";

}

Здесь в зависимости от индекса текущей вкладки ежедневника (нумерация с нуля), значение которой возвращает свойство SelectedIndex компонента OrgTabControl, добавляем запись в соответствующий этой странице компонент ListBoх (нумерация с единицы) с помощью метода Add ().

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

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


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



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