• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


  • Иллюстрированный самоучитель по Visual Basic .NET

    Формы MDI

    Меню Window реализуется в родительском окне, причем его код может быть достаточно простым:

    Public Sub InitializeMenu()
    Dim mnuWindow As New MenuItem("&Window")
    MainMenu1.MenuIterns.Add(mnuWindow)
    mnuWindow.MenuItems.AddCNew Menultem _
    ("&Cascade", AddressOf WindowCascade_Clicked))
    mnuWindow.MenuItems.Add(New Menultem
    ("Tile &Horizontal", AddressOf WindowTileHoriz_C1icked))
    mnuWindow.MenuItems.Add(New Menultem _
    ("Tile &Vertical". AddressOf WindowTileVert_Clicked))
    mnuWindow.MdiList = True
    End Sub
    Protected Sub WindowCascade_Clicked(ByVal
    Sender As Object. ByValeAs System.EventArgs)
    Me.LayoutMdi(MdiLayout.Cascade)
    End Sub
    Protected Sub WindowTileHoriz_Clicked(ByVal Sender As Object._
    ByVal e As System.EventArgs)
    Me.LayoutMdi(MdiLayout.TileHorizonta1)
    End Sub
    Protected Sub WindowTileVert_Clicked(ByVal Sender As Object,
    ByVal e As System.EventArgs)
    Me.LayoutMdi(MdiLayout.TileVertica1)
    End Sub
    

    Примерный вид окна, полученного при вызове InitializeMenu для формы из предыдущего примера, показан на рис. 8.13.

    Иллюстрированный самоучитель по Visual Basic .NET › Формы Windows, графический вывод и печать › Формы MDI
    Рис. 8.13. Типичное меню Window в приложении MDI

    Чтобы оповестить родительскую форму об активизации дочернего окна, следует зарегистрировать обработчик для события mdiChildActivate. Активизируемое окно определяется при помощи свойства ActiveMdiChild класса Form. Например, в следующем фрагменте создается обработчик для вывода в строке состояния (элемент StatusBar) родительской формы содержимого заголовка дочернего окна:

    AddHandler Me.MdiChildActivate.AddressOf Me.MdiChildActivated.
    

    Остается лишь определить следующую процедуру:

    Protected Sub MdiChi1dActivated(sender As object, e As System.EventArgs)
    If (Me.ActiveMdiChild < > Nothing) Then statusBarl.Text
    Me.ActiveMdiChild.Text
    End If
    End Sub
    
    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.