Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание дочерних MDI-форм

Дочерние MDI-формы являются основным элементом Приложения с интерфейсом MDI, поскольку они находятся в центре взаимодействия с пользователями.

Чтобы создать дочерние MDI-формы, выполните следующие действия. Создайте родительскую MDI-форму, структура меню которой содержит пункты меню верхнего уровня Файл и Окно и пункты меню Создать и Закрыть. Из раскрывающегося списка в верхней части окна Свойства выберите пункт меню, соответствующий пункту меню &Окно, и задайте свойству MdiList значение true. Это позволит меню Окно поддерживать список открытых дочерних MDI-окон с галочкой рядом с активным дочерним окном.

В Обозревателе решений щелкните правой кнопкой мыши проект, выберите команду Добавить, затем Добавить новый элемент. Эта форма будет шаблоном для создаваемой дочерней MDI-формы. Дочерняя MDI-форма, создаваемая на этом этапе, является стандартной формой Windows Forms. В этом качестве у нее есть свойство Opacity, позволяющее управлять прозрачностью формы. Однако свойство Opacity разработано для окон верхнего уровня. Его не следует использовать в дочерних MDI-формах, иначе могут возникнуть проблемы с рисованием.

В диалоговом окне Добавить новый элемент выберите Форма Windows Forms из области Шаблоны. В поле Имя введите имя формы Form2. Нажмите кнопку Открыть, чтобы добавить форму в проект. Откроется конструктор Windows Forms, отображающий форму Form2.

Создайте обработчик событий Click для элемента меню Создать. Вставьте код, аналогичный следующему, чтобы создать новую дочернюю MDI-форму при нажатии пользователем пункта меню Создать.

В следующем примере обработчик событий обрабатывает событие Click для MenuItem2. Следует помнить, что, в зависимости от особенностей архитектуры приложения, созданный пункт меню Создать может не являться MenuItem2.

protected void MDIChildNew_Click(object sender, System.EventArgs e){ Form2 newMDIChild = new Form2(); // Set the Parent Form of the Child window. newMDIChild.MdiParent = this; // Display the new form. newMDIChild.Show();}

Обратите внимание, что при выборе команды Создать в меню Файл можно создавать новые дочерние MDI-формы, управление которыми осуществляется в меню Окно. Следует помнить, что когда в дочерней MDI-форме есть компонент MenuStrip (обычно обладающий структурой пунктов меню), и этот компонент открыт внутри родительской MDI-формы, также имеющей компонент MenuStrip (обычно обладающий структурой пунктов меню), пункты меню будут объединены автоматически, если задано свойство MergeAction (и, по выбору, свойство MergeIndex. Установите для свойства MergeAction главного элемента MenuStrip значение MatchOnly. Кроме того, установите свойство MergeIndex таким образом, чтобы пункты обоих меню появлялись в установленном порядке, а свойство Visible установите в значение false. Необходимо отметить, что при закрытии родительской MDI-формы каждая из дочерних MDI-форм создает событие Closing до создания события Closing для родительской MDI-формы. Отмена события Closing дочерней MDI-формы не отменяет события Closing родительской MDI-формы; тем не менее, для аргумента CancelEventArgs для события Closing родительской MDI-формы не устанавливается значение true. Можно добиться того, чтобы родительская и все дочерние MDI-формы закрылись, задав аргументу CancelEventArgs значение false.

<== предыдущая лекция | следующая лекция ==>
Создание родительских MDI-форм | Отправка данных в активную дочернюю MDI-форму
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 677; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.