我基本上试图在powershell中编写一个小GUI,它有三个带边框的独立面板,用于指示一个面板的开始和结束位置。但是,看起来这些面板只是直接在彼此之上构建。
非常感谢您对此的任何帮助!
$form = New-Object System.Windows.Forms.Form
$form.Height = 350
$form.Width = 600
function buildMainPanel {
$panel = New-Object System.Windows.Forms.Panel
$Script:tableLayoutPanel = New-Object System.Windows.Forms.TableLayoutPanel
$tableLayoutPanel.RowCount = 3
$pan1 = buildEmptyPanel
$pan2 = buildEmptyPanel
$pan3 = buildEmptyPanel
$tableLayoutPanel.Controls.Add($pan1)
$tableLayoutPanel.Controls.Add($pan2)
$tableLayoutPanel.Controls.Add($pan3)
$panel.Controls.Add($tableLayoutPanel)
return $panel
}
function buildEmptyPanel {
$panel = New-Object System.Windows.Forms.Panel
$panel.BorderStyle = [System.Windows.Forms.BorderStyle]::FixedSingle
return $panel
}
$mainPanel = buildMainPanel
$form.Controls.Add($mainPanel)
$form.ShowDialog()
答案 0 :(得分:2)
在WPF中,WinForms中的自动布局方式并不多。在WinForms中,您可以进行锚定和对接。您可以尝试对接试验,看看是否可行。如果不是,您必须自己管理面板的位置和大小。
$pan1.Dock = 'Left'
$pan2.Dock = 'Fill'
$pan3.Dock = 'Right'