Понедельник, 2025-06-16

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки VB.net [25]
VB.net и математика [13]
Random VB [4]
VB.net - разное [7]
VB.net - Примеры программ [2]
Главная » Статьи » VB.net » Уроки VB.net

VB.net - 10 - MDI приложения

VB.net - 10 - MDI приложения



 

Multiple document interface (MDI) — способ организации графического интерфейса пользователя, предполагающий использование оконного интерфейса, в котором большинство окон расположены внутри одного общего окна. Этим он и отличается от SDI, в котором окна располагаются независимо друг от друга.

Вопрос о том, какой тип интерфейса предпочтителен — MDI или SDI — часто становится предметом обсуждений в сообществе разработчиков и пользователей программного обеспечения. SDI, в частности, более удобен тогда, когда пользователь одновременно работает с несколькими приложениями разных типов. Разработчики широко используют оба типа интерфейса, а зачастую и интерфейс смешанного типа. Например, Microsoft меняла интерфейс Microsoft Office от SDI к MDI, а потом вернулась обратно к SDI, хотя степень реализации включает и первое, и второе.

 

Для создания MDI приложения нам необходимо настроить родительскую, а также дочерние формы.

В свойствах родительской (основной) формы меняем свойство:

IsMdiContainer = true

После чего форма меняет цвет со светло-серого на темно серый.

Для работы нам понадобится элемент меню - MenuStrip.

Обычно меню содержит такие пункты как Файл (новый, сохранить, выход), Работа с окнами (закрыть все, расширить, каскадом, а так же список всех открытых окон). Кроме этого в меню могут быть и другие пункты. Но именно работа с окнами характерны для MDI приложений, по этому о них мы и поговорим в этой статье.

 

СОЗДАНИЕ НОВОЙ ДОЧЕРНЕЙ ФОРМЫ

По клику в меню Файл - Новое окно - будем вызывать новое окно.


        Dim frm As New Form

        frm.Show()


 

Если мы в код запишем такой код, то у нас откроется новая форма. Но она будет пустой, а так же отдельной от родительской.

Так что нам будет необходимо добавить такую строку - frm.MdiParent = Mе.


Dim frm As New Form

frm.MdiParent = Me

frm.Show()


 

Теперь форма открывается в родительском контейнере, но все же на форме ни чего нет, даже имени.

Это происходит по тому, что за шаблон мы взяли пустую форму.

Теперь добавим в наш проект еще одну форму и разместим на ней, допустим, кнопку. Имя формы (Form2), в этом примере, менять не будем.

 

Теперь изменим в коде строку Dim frm As New Form2

После нажатия на Файл - Новое окно, в родительской форме  будет запускаться наша форма2.

 

Как вы заметили,  все новые формы имеют одно и тоже имя. Что бы каждая форма имела уникальное имя,  запишем еще пару строк. И в результате код будет таким:

    


    'Вызов нового дочернего окна      

        Dim frm As New Form2

        Dim cnt As Integer

        frm.MdiParent = Me

        cnt = Me.MdiChildren.Length

        frm.Text += Str(cnt)

        frm.Show()


 

Теперь разберемся с пунктом меню ОКНА.

 

Закрыть все окна


        Dim frm As Form

        For Each frm In Me.MdiChildren

            frm.Close()

        Next


 

На весь экран


        Dim frm As Form

        For Each frm In Me.MdiChildren

            frm.WindowState = FormWindowState.Maximized

        Next


 

Каскадное расположение окон


        Me.LayoutMdi(MdiLayout.Cascade)


 

Вертикальное расположение окон


        Me.LayoutMdi(MdiLayout.TileVertical)


 

Горизонтальное расположение окон


        Me.LayoutMdi(MdiLayout.TileHorizontal)


 

 

Смотреть видео

В начало

 

 



 

Категория: Уроки VB.net | Добавил: ProfessorVB (2015-12-09)
Просмотров: 3030 | Теги: mdi приложения, Vb.net, Каскадное расположение окон, MenuStrip, mdi form | Рейтинг: 5.0/4
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео hello world MenuStrip Генератор имен Switch дроби решебник Алгебра системы уравнения геометрия Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки добавление записи в xml анекдот поиск создать XML удалить из xml калькулятор НОД нок время дата Деструкторы конструкторы тест сокращение дробей десятичные дроби тренажер английский развитие мнемоника иностранные слова random рандом professorvb OpenFileDialog Timer mindgames цикл словарь база пароль слова cos sin комплексные числа вирус массив классы массивы многомерные Break Continue do for forEach While Обработка событий rgb задать цвет XML база данных xml количество элементов xml поиск значений xml редактирование xml создание soft AntiCenz fri-gate google pirat proxy tor запрещенные сайты Open save RichTextBox TopMost DateTimePicker календарь количество дней между датами перемешивание массива Анаграммы Меморина Ребусы Рифмоплет скорочтение Сравнение дробей использование
    Copyright ProfessorVB © 2025