Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 176

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 170 171 172 173 174 175 < 176 > 177 178 179 180 181 182 .. 404 >> Следующая


После этого мы создаем новый экземпляр редактора и выводим его.

Если запустить код и открыть новое окно, то можно будет заметить, что события в меню Edit относятся к нужному окну; это большая удача, поскольку мы не предпринимали никаких действий, для того, чтобы этого добиться. Поскольку для каждого экземпляра формы описываются свои обработчики событий, то сообщения о событиях каждый раз будут отправляться в определенное место. В списке Open Windows выведено два окна (см. рис. слева).

Теперь нужно закрыть открытые окна. Форма frmContainer обладает СВОЙСТВОМ ActiveMdiChiId, которое позволяет идентифицировать то дочернее окно, которое мы хотим закрыть. Щелкните два раза мышью на меню Close и добавьте следующий код:

private void menuItemClose_Click(object sender. System. EventArgs e)

{

/i Определение активного дочернего MDI-окна SimpleTextBditor.frmEditor frm *

(SimpleTextEditor.frmEditor)this.ActiveMdiChild; if (frm 1= null) И Перед тем jcax использовать потолок,

// необходимо убедиться в ток, что он доступен

{

Сrm.Closet) j 11 Закрытие! окна

) - .

>
Дополнительные возможности Windows Form

373

Сначала мы изменяем тнп формы, содержащейся в свойстве ActiveMdichild на класс simpieTextEditor, Затем, прежде чем выполнять какие-либо действия с данным экземпляром, мы убеждаемся, что его значенне не равно null, а потом вызываем метод close о для данного окна.

Мы не будем разбирать реализацию других пунктов меню Files, поскольку пунктами Open, Save н SaveAII используются стандартные файловые диалоговые окна Open и Save, которые обсужддются в следующей главе. Для пункта меню Exit используется тот же самый код, который встречался в предшествующих примерах. Весь код можно загрузить с сайта www.wrox.com.

Перейдем к двум оставшимся меню в меню Window — Tile и Cascade. Существует два возможных способа располагать вновь открываемые документы поверх уже открытых — вертикально и горизонтально; в данном примере мы будем располагать окна горизонтально. Для последовательного расположения нескольких окон с документами имеется только одна возможность. Щелкните два раза мышью на меню Tile и на меню Cascade и введите следующий код:

private void menuItemTile_Click(object sender. System.EventArgs e) (

this.LayoutMdi(MdiLayout.TileHorizonal)i

private void menuItemCascade_Clic)c(object sender, System.EventArgs e) (

this.LayoutMdi[MdiLayout.Cascade)i

Г7Р1 1 -. > .L1 HFlDf
ta «их • • • • - . . ч ...
1: 'иБЭЯ ^'¦ ¦
[| й|/|п1 А -Г

¦ I'ivl ЯЯШШШЯШ
ГГТ
P
¦OTJ шяшшшшш ашьи r j r -• .‘.H r.i
A 4 * . 4
1 1-nMI 1

Метод LayoutMdi основного окна позволяет изменять порядок расположения всех дочерних MDI-okoh.

Еслн запустить созданный код, то рисунок слева покажет, как выглядят три налагающихся друг на друга документа.

Создание управляющих элементов

Вполне вероятна ситуация, прн которой управляющие элементы, поставляемые совместно с Visual Studio.NET в готовом виде, не будут удовлетворять вашим требованиям. На то может существовать много причин: управляющие элементы имеют другой внешний вид. эти элементы налагают какие-либо ограничения, вам требуется включить в интерфейс управляющих элементов дополнительные возможности, или, наконец, необходимого вам управляющего элемента просто не существует. Признавая это, компания Microsoft предоставляет средства для создания элементов, которые удовлетворяли бы требованиям пользователя. В Visual Studio.NET имеется тип проекта Windows Control Library (библиотека управляющих элементов Windows), к помощи которого следует прибегнуть при необходимости создать свой собственный управляющий элемент.

Возможно разработать два различных вида собственных элементов, которые называются пользовательскими управляющими' элементами (или составными управляющими элементами) и специализированными управляющими элементами (custom controls):
374 Глава 14

? Пользовательские, или составные управляющие элементы:

Они строятся на основе функциональных возможностей уже существующих управляющих элементов, в результате чего создается новый управляющий элемент. Такие элементы обычно создаются либо для объединения функциональных возможностей с пользовательским интерфейсом управляющего элемента, либо для расширения возможностей интерфейса управляющего элемента путем объединения нескольких различных элементов в одну логическую единицу.

? Специализированные управляющие элементы: Эта разновидность управляющих элементов создается, когда ни одни нз существующих элементов не удовлетворяет вашим нуждам и управляющий элемент создается с нуля. Он воспроизводит весь пользовательский интерфейс, и при его создании не используются готовые управляющие элементы. Обычно необходимость в таких элементах возникает в тех случаях, когда пользовательский интерфейс создаваемого управляющего элемента существенно отличается от имеющихся в наличии.

В настоящей главе мы сосредоточим внимание на создании пользовательских управляющих элементов, поскольку вторая возможность — разработка и создание управляющих элементов с нуля — выходит за рамки дайной книги. В главе 16, посвященной GDI+, представляются средства, необходимые для самостоятельного создания графических элементов. Познакомившись с GDI + , вы получите возможность без затруднений перейти к разработке специализированных управляющих элементов.
Предыдущая << 1 .. 170 171 172 173 174 175 < 176 > 177 178 179 180 181 182 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.