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

С# - Ватсон К.

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


Любое MDI-прнложеиие состоит по крайней мере из двух разных окон. Первое окно называется MDI-контейнером, а окно, которое может быть открыто в контейнере, называется дочерним MDI-окном, Прн упоминании первого окна будут использоваться взаимозаменяемые термины “MDI-контейнер” и “основное окно", а прн упоминании второго — термины “дочернее MDI-окно” или просто “дочернее окно”.

Прн создании MDI-приложения следует начинать с того же, с чего начинается создание любого другого приложения,— с создания Windows Application в Visual Studio. Чтобы превратить основное окно приложения из формы в MDI-контсйнер, достаточно просто присвоить свойству формы ieMdiContainer значенне true. При этом произойдет изменение цвета фона, указывающее иа то, там не следует размещать видимые управляющие элементы, хотя такая возможность по-прежнему существует и может прн определенных обстоятельствах оказаться полезной.

Для создания дочернего окна следует добавить в проект новую форму, выбрав Windows Form из диалогового окна, которое открывается прн выборе пункта меню Project | Add New Item. Эта форма становится дочерним окиом, когда его свойству MdiParent присваивается ссылка на основное окно. Этому свойству нельзя присваивать значение с помощью панели Properties, это необходимо выполнять программным путем.

До того, как появится возможность выводить MDI-приложение на экран в его основном виде, нужно выполнить еще две вещи. Необходимо передать MDI-koh-тейнеру информацию о том, какие окна должны выводиться, а затем вывести их, для чего следует просто создать новый экземпляр формы, которую вы собираетесь выводить, а затем вызвать для нее метод shown. Конструктор формы, предназначенной для вывода в качестве дочернего окна, должен привязаться к родительскому контейнеру. Это достигается за счет присваивания его свойства MdiParent экземпляру MDI-контейнера.

Прежде чем переходить к выполнению более сложных задач, разберем небольшой пример, в котором выполняются все эти шаги.
366

Глава 14

Прантинум: создание MDI-приложения

1. Создайте новое Windows Application и назовите его MdiBasic.

2. Выберите форму и задайте свойства, сведенные в таблицу справа,

3. Добавьте новую форму к решению, выбрав пункт Windows Form из меню Project | Add New Item,

Назовите эту форму frmchiid.

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

public fnnChild (MdiBasic.frmContainer parent)

Свойство Значенне
Name - frmContainer
IsMdiContainer True
Text MDI Basic
WindowState Maximized

{

InitializeConponent I) ;

// Присваивание к&нтейиеру родителя данной формы thi s. MdiParent = parent;

Чтобы привязать дочернюю форму к MDI-контейнеру, ее необходимо зарегистрировать в контейнере. Это достигается присваиванием свойству MdiParent данной формы соответствующего значения, как показано в приведенном выше коде. Заметьте, что используемый конструктор включает в себя параметр parent.

Поскольку в C# не предусмотрены конструкторы по умолчанию для класса, в котором описывается его собственный конструктор, приведенный выше код позволяет предотвратить создание экземпляра данной формы, не привязанного к MDI-контейнеру.

Выполним вывод формы на экран в конструкторе MDI-контейнера:

public frmContainer() •

(

InitializeComponent(); .

/ / Создание нового экземпляра дочерней формы

MdiBasic. fnnChild child = new MdiBasic. fnnChild(this); _

/f Вывод созданной формы child.Show()i

' * MDi B.iiic Я0Е
HiimCh.M HHE3.
'
J


Мы создаем новый экземпляр дочернего класса и передаем его конструктору посредством ключевого слова this, которое представляет собой текущий экземпляр класса MDI-контейнера, Затем вызываем метод show о для вывода нового экземпляра дочерней формы. Если нужно вывести более одного дочернего окна, то потребуется повторить две выделенные выше в коде строки для каждого окна.

Запустите код, и вы увидите приблизительно то, что показано на рисунке слева.

Это не самый впечатляющий пользовательский интерфейс, однако он вполне
Дополнительные возможности Windows Form

367

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

Практикум: создание текстового редактора с использованием MDI

Давайте сначала создадим основной проект, а затем обсудим происходящее:

1. Создайте новый проект Windows Application И назовите его SirapleTextEditor,

Присвойте свойствам формы значения, сведенные в таблицу слева.

2. Переименуйте файл, в котором содержится форма (именно файл, а не свойство) на fnnContainer.ee и внесите следующие изменения в метод nain(>:

Свойства Значение
Маше frmContainer
IsMdiContainer True
Text Simple Text Editor
WindowState Maximized

static void HainO

<

Application.Run(new frmContainer());

) ¦

3. Вставьте существующий объект в проект (Project | Add Existing Item). Найдите образец панелн инструментов и вставьте форму
Предыдущая << 1 .. 167 168 169 170 171 172 < 173 > 174 175 176 177 178 179 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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