PowerShell/Windows Forms-如何向选项卡添加可滚动控件?

eagi6jfj  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(149)

我正在使用WinForms创建一个表单,我想添加一个具有多个标签和文本框的可滚动区域。
以下是我的表单代码(还有更多特定于我的项目的代码,但这应该是它的要点):

$form                              = New-Object system.Windows.Forms.Form
$form.ClientSize                   = New-Object System.Drawing.Point(350,380)

$tabcontrol                        = New-object System.Windows.Forms.TabControl 
$tabcontrol.Size                   = New-Object System.Drawing.Point(330,330)
$tabcontrol.Location               = New-Object System.Drawing.Point(10,10)
$form.Controls.Add($tabcontrol)

$tab                               = New-object System.Windows.Forms.Tabpage
$tab.Text                          = "Tab1"
$tabcontrol.Controls.Add($tab)

我尝试将ScrollableControl添加到$tab

$scroll                            = New-Object System.Windows.Forms.ScrollableControl
$scroll.AutoScroll                 = $true
$scroll.AutoScrollMinSize          = New-Object System.Drawing.Size (0, 200)
$scroll.VerticalScroll.LargeChange = 20
$scroll.VerticalScroll.SmallChange = 7
$tab.Controls.Add($scroll)

当我启动表单时,Tab1($tab)上没有滚动条或任何东西。我尝试向$scroll添加控件,比如System.Windows.Forms.Label或System.Windows.Forms.TextBox,但仍然一无所获。
那么我到底做错了什么呢?如何将可滚动控件添加到$tab

l0oc07j2

l0oc07j21#

您需要确保选项卡页是可滚动的,而不是添加ScrollableControl。添加以下内容(其中$tab为选项卡页):

$tab.AutoScroll = true
$tab.Size = New-Object System.Drawing.Size (1000, 1000)

当窗口小于页面内容时,这将自动提供滚动条。

相关问题