Заключение форм внутрь родительской формы

а что если вы хотите

В предыдущем разделе было показано, как запустить новую форму, которую можено перемещать по экрану независимо тот формы, из которой она была запущена, хотя период жизни этого окна и привязан к тому окну, которое его создало. А что, если вы хотите создать форму, которая была бы полностью заключена внутри области клиента ее родительского окна? Такой стиль пользовательского интерфейса называется многодокументным интерфейсом, даже если то, что содержится в дочерних формах, может быть вообще не ориентировано на документы. Эта терминология является пережитком, оставшимся от тех времен, когда ранние версии программ вроде Microsoft Word или Excel открывали каждый документ в дочернем окне, которое содержалось внутри внешнего окна, или обрамления, представлявшего собственно приложение. Большинство этих программ сместило свою ориентацию от центрированной на приложении к более центрированной на документе, и теперь отображают для каждого открытого документа отдельное окно верхнего уровня. Тем не менее введенный ими стиль приложений еще встречается и во многих ситуациях вполне оправдан. Создание MDI-приложений в Windows Forms намного проще, чем это было в C++ или VB6. Прежде всего вам нужно спроектировать вашу главную форму, как вы это сделали бы для любого другого приложения. Так как вы разрабатываете приложение MDI, вам нужно будет оставить область клиента главной формы пустой, так как именно там будут отображаться дочерние формы. Обычно в главной форме MDI-приложения у вас будет только меню, инструментальная панель и строка состояния. Вам нужно будет спроектировать также любые формы, которые вы хотите заключить в область клиента главной формы в качестве дочерних форм.

Как только вы спроектируете формы, останется сделать всего два шага, чтобы запустить дочерние формы таким образом, что они будут заключены внутри области клиента родительской формы. Прежде всего вам нужно установить свойство IsMdiContainer Родительской формы в True. Затем, когда вы конструируете дочерние формы, но до того, как вы вызовете их метод Show, Вы должны установить в свойстве MdiParent Дочерней формы ссылку на родительскую форму:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *