Формы MDI
В прежних версиях VB при программировании приложений с интерфейсом MDI (Multiple Document Interface) родительская форма MDI выбиралась на стадии конструирования. В .NET эта задача решается иначе – свойству IsMdiContainer формы задается значение True. Программист создает дочерние формы MDI на стадии конструирования или выполнения, а затем заносит в их свойство Mdi Parent ссылку на форму со свойством IsMdiContainer, равным True.
Таким образом, в программах VB.NET можно сделать то, что было практически нереально в предыдущих версиях VB, – изменять связи MDI во время работы программы. Кроме того, приложение может содержать несколько родительских форм MDI; в VB6 такая возможность не поддерживалась.
Рассмотрим пример. Создайте приложение со следующей процедурой Forml_Load:
Private Sub Forml_Load(ByVal sender As System.Object._ ByVal e As System.EventArgs) Handles MyBase.Load Me.Text = "I'm an MDI Parent" Me.IsMdiContainer – True Dim MyChild As New System.Windows.Forms.Form() MyChiId.MdiParent = Me MyChild.Show() MyChild.Text ="MDI Child" End Sub
Примерный вид окна показан на рис. 8.12.
Рис. 8.12. Простейшее приложение MDI
Конечно, это весьма жалкое подобие приложения MDI. В приложениях MDI обычно присутствует меню Window, позволяющее расположить открытые дочерние окна "черепицей" или "мозаикой", а также активизировать любое дочернее окно.