【发布时间】:2017-07-31 22:42:01
【问题描述】:
我正在编写一个 PowerShell 脚本,该脚本使用停靠的表单和面板。我能够很好地创建表单和面板,但在运行时使用$inputbox.Bottom = $form.Height - 215 控制大小来调整列表框大小时遇到问题,但我收到错误
“底部”是一个只读属性。
仅仅在面板中使用Fill 将不起作用,因为我在列表框上方和下方都有按钮。这是我的代码示例:
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Drawing”)
$form.ResizeEnd
$form = New-Object System.Windows.Forms.Form
$form.Size = New-Object System.Drawing.Size(1040,459)
$form.KeyPreview = $true
$form.StartPosition = ‘centerscreen’
$form.BackColor = 'MidnightBlue'
$form.Add_KeyDown({if($_.KeyCode -eq "Escape"){$form.Close()}})
$form.Text = "Dialog Box 2.0"
$form.Icon = [system.drawing.icon]::ExtractAssociatedIcon($PSHOME + "\powershell_ise.exe")
$buttonPanel3 = New-Object Windows.Forms.Panel
$buttonPanel3.Size = New-Object Drawing.Size @(290,70)
$buttonPanel3.Dock = "left"
$buttonPanel3.BackColor = 'Blue'
$inputbox = New-Object System.Windows.Forms.ListBox
$inputbox.BorderStyle = 'NONE'
$inputbox.Font = New-Object System.Drawing.Font(“segoe UI”,9)
$inputbox.SelectionMode = "MultiExtended"
$inputbox.Left = 10
$inputbox.Top = 105
$inputbox.Width = 200
$inputbox.Bottom = $form.Height -215
$inputbox.Height = $form.Height -215
$buttonPanel3.Controls.Add($inputbox)
$form.Controls.Add($buttonPanel3)
$form.ShowDialog()
如果有人可以提供一些在您调整表单大小时调整大小(主要与垂直扩展有关)的列表框的示例代码,那就太好了。
【问题讨论】:
-
编辑
Height属性,而不是Bottom属性 -
当我编辑 height 属性时,它会正确初始化,但在程序运行时不会修改。
-
您是否尝试手动操作(即通过拖动控件的边框)?我没有看到任何尝试以编程方式调整任何控件的大小同时显示表单
-
请举例说明如何做到这一点。
-
怎么做什么?您是在寻找用户可调整大小的列表框控件,还是寻找如何以编程方式调整控件大小的示例?
标签: winforms powershell listbox resize