Цель: Создание динамического интерфейса для процедуры добавления данных в документы.
Для выполнения лабораторной работы №6 необходимо выполнить все шаги предыдущих лабораторных работ.
Создание объекта для динамического построения компонентов.
Для процедуры добавления необходимо сделать на главной форме панель, где будут строиться элементы интерфейса. Для этого перейдем в дизайнере главной формы, и на панель где уже расположен компонент MainTreeView, помещаем компонент Panel и выставляем ему следующие свойства.
Название свойства | Значение |
Name | panel_AddChange |
Dock | Fill |
Modifiers | Public |
Viseble | False |
На эту панель помещаем две кнопки Button.
Название свойства | Значение |
Name | button_Ok |
Modifiers | Public |
Название свойства | Значение |
Name | button_Cancell |
Modifiers | Public |
Text | Отмена |
После добавления кнопок наша главная форма в дизайнере должна выглядеть следующим образом рис. 1.
Рис 1.
При запуске нашей программы эта панель будет не видна, так как мы ей изменили свойство, определяющее отображения, на значение «False».
Создание событий.
Теперь необходимо сделать так чтобы по нажатию кнопки «ToolBT_Add», которая расположена на «toolStrip1» главной формы, открывалась созданная панель, также эта панель должна открываться для активного в данный момент документа. Так как мы это делаем для соответствующего документа то обработку события кнопки «ToolBT_Add» необходимо делать в рабочей форме. Для этого выполним следующие шаги:
1. Создадим событие «ToolBT_Add_Click» в фале реализации рабочей формы.
2. Присвоим кнопке «ToolBT_Add» созданное событие в момент активации рабочей формы. Для этого в событии «WorkForm_Activated», в секции «try { }», добавим следующий код, который будет выполняться в случае если в вызываемом классе параметр определяющий активность кнопки выставлен в true. Данный код надо прописать после того как мы изменяем значение «Enabled» для кнопки «ToolBT_Add».
3. Создадим событие «Deactivate» для рабочей формы, для того чтобы когда форма станет не активной у кнопки «ToolBT_Add» отключить присвоенное событие. Для этого
a. в дизайнере формы «WorkForm» выберем нашу форму;
b. перейдем в ее свойства;
c. перейдем в события;
d. найдем там событие «Deactivate»;
e. зайдем в редактирование кода данного события и пропишем там следующий код.
Запустим приложение, выберем в дереве документ, и после нажатия на кнопку «добавить» у нас открывается наша панель.
Далее необходимо сделать так чтоб по нажатию на кнопки «button_Ok» и «button_Cancell», а также при переходе на другой открытый документ наша панель закрывалась, для этого проделаем следующие шаги:
- Первоначально надо сделать функцию, которая будет очищать события кнопок «button_Ok» и «button_Cancell».Для этого в классе рабочей формы создадим следующую функцию.
- Теперь в этом же классе создадим события для кнопок, «button_Ok» и «button_Cancell», по нажатию которых мы будем закрывать панель. Для этого добавим следующий код.
- После этого необходимо изменить событие для кнопки «ToolBT_Add». Чтобы выглядело следующим образом.
Запустим программу. При выборе документа и нажатии кнопки «Добавить» у нас открывается панель с двумя кнопками при нажатии, на которые, она закрывается. Также если у нас открыто два документа, мы нажали кнопку «Добавить» и после этого, выбрали другой документ, то панель тоже закрывается.