Среда, 2025-01-22

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)
Просмотров: 2985 | Теги: mdi приложения, Vb.net, Каскадное расположение окон, MenuStrip, mdi form | Рейтинг: 5.0/4
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    Видео Switch массивы уравнения геометрия continue forEach while Обработка событий задать цвет C# math Vb.net xml количество элементов xml поиск значений математика видеоуроки Soft системы Google pirat Proxy tor НОД нок добавление записи в xml поиск Уроки генератор hello world время деструкторы конструкторы дроби калькулятор десятичные дроби решебник сокращение дробей си шарп мнемоника тренажер random количество дней между датами professorvb дата Урок mindgames алгебра многомерные слова словарь Пароль cos SIN база timer рандом Цикл Break DO for RGB условия массив элементов xml редактирование xml создание вирус MenuStrip AntiCenz fri-gate запрещенные сайты база данных Open RichTextBox XML удалить из xml save TopMost анекдот создать XML Классы Тест OpenFileDialog английский развитие иностранные слова DateTimePicker календарь массив перемешивание массива Анаграммы Рифмоплет Сравнение дробей Меморина скорочтение Использование ребусы комплексные числа программа генератор имен
    Copyright ProfessorVB © 2025