Изменение свойства Dock в пользовательском элементе управления Winforms

#.net #vb.net #winforms

#.net #vb.net #winforms

Вопрос:

Я пытаюсь создать кнопку, которая скроет панель, которую я закрепил в центре моего пользовательского элемента управления.

Моя форма изложена вот так:

 toolStrip1 (docked to top)
topPanel (docked to fill)
bottomPanel (docked to bottom)
  

У меня есть следующий код:

 Private Sub ShowHideTopPanel()
    If topPanel.Visible Then
        topPanel.Visible = False
        bottomPanel.Dock = DockStyle.Fill
    Else
        topPanel.Visible = True
        bottomPanel.Dock = DockStyle.Bottom
    End If
End Sub
  

В какой-то степени это работает. Однако, когда bottomPanel установлено значение Заполнить, кажется, что оно заполняет весь элемент управления, а не только до toolStrip1 . Кто-нибудь может сказать мне, почему это происходит и как это исправить?

Ответ №1:

Такое поведение вызвано z-индексом ваших элементов управления. Попробуйте немного поиграть с методами [Control].BringToFront() и [Control].SendToBack() .