我假設你的意思是根據你的圖像「水平」拆分容器。
你可以嘗試使用ControlAdded
事件頂部面板的手動實現這一目標:
Public Class Form1
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
SplitContainer1.SplitterDistance = SmallPanel.Height
End Sub
Private Sub SplitContainer1_Panel1_ControlAdded(ByVal sender As Object, ByVal e As ControlEventArgs) Handles SplitContainer1.Panel1.ControlAdded
SplitContainer1.SplitterDistance += e.Control.Height
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim addPanel As New Panel
addPanel.BorderStyle = BorderStyle.FixedSingle
addPanel.Size = New Size(SplitContainer1.Panel1.ClientSize.Width, 100)
addPanel.Location = New Point(0, SplitContainer1.SplitterDistance)
addPanel.Anchor = AnchorStyles.Left Or AnchorStyles.Top Or AnchorStyles.Right
SplitContainer1.Panel1.Controls.Add(addPanel)
End Sub
End Class
SmallPanel是面板I置於SplitContainer中的Panel1的,並在其添加更多的面板增加了一個按鈕。
這將工作,但我希望能自動做到這一點。在上面板中只有一個控件,一個用戶控件。該控件在其中有一個流程佈局面板,我希望splitcontainer頂部面板將其大小調整爲usercontrol中的流程佈局面板的大小......無論如何感謝您的答案。 – MarioDS 2012-04-26 16:05:03
@MarioDeSchaepmeester如果FLP在UC中,那麼你顯然需要讓UC調整自己的大小(聽起來就是這樣)。只需勾選UC的調整大小事件來設置「SplitterDistance」 – LarsTech 2012-04-26 16:17:14
哦,是的,我會嘗試,謝謝。 – MarioDS 2012-04-26 16:36:56