Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Как спрятать панель?


Автор: Vello 1.8.2008, 15:17
Мне нужно чтоб панель пряталась когда она не нужна и появлялась при нажатии или направлении мыши на кнопку(в общем как в Visual Studio VB.NET с toolbox'ом)

вот я думаю так реализовать:
Код

 Dim HidenCP As Boolean = False
    Dim xL = ConstructionPanel.Location.X

     Private Sub ConstructionPanel_HideShow_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ConstructionPanel_HideShow.MouseEnter
        Dim temp As Point = New Point
        If HidenCP = True Then
            While temp.X < xL
                temp.X = ConstructionPanel.Location.X + 1
                temp.Y = ConstructionPanel.Location.Y
                ConstructionPanel.Location = temp
            End While
            Dim HidenCP = False
        End If
    End Sub

    Private Sub ConstructionPanel_HideShow_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ConstructionPanel_HideShow.MouseLeave
        Dim temp As Point = New Point
        If HidenCP = False Then
            While temp.X > -205
                temp.X = ConstructionPanel.Location.X - 1
                temp.Y = ConstructionPanel.Location.Y
                ConstructionPanel.Location = temp
            End While
            Dim HidenCP = True
        End If
    End Sub



но это не очень подходит, по скольку обратно панель не появляется...

Что подскажете?

Автор: diadiavova 14.8.2008, 22:08
На сколько я понимаю в студии для создания toolbox'а и других окон использовался TabControl, прикреплённый к одной из сторон при помощи свойства Dock. Открывать и прятать панели можно просто меняя размер TabControl'а. 
Например: нужно чтобы панель выдвигалась слева. Назначаем табконролу свойства:
Dock=Left
Alignment=left
Далее, если панели надо скрыть - тогда свойству Width присваиваем значение  такое же, какое имеет свойство ItemSize.Width, а когда надо показать - возвращаем прежний размерчик.
События MousHover, MouseLeave, и Click отслеживаем для конкретных вкладок.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)