如何自动调整列表视图中的列大小?

时间:2018-12-05 10:16:16

标签: winforms powershell listview autosize

我正在尝试将以下语句的结果存储在列表视图中:

Get-WmiObject Win32_Process -ComputerName $server |
    Select-Object Name, ProcessId, Path

一切正常,但问题是(如您在图像中所见),每一列的大小都不能自动与is内容匹配。

我在Internet上的PowerShell中找不到关于Listview的很多信息,所以我要问你。

$ListViewProcesses = New-Object System.Windows.Forms.ListView
$ListViewProcesses.Location = New-Object System.Drawing.Point(10, 10)
$ListViewProcesses.Size = New-Object System.Drawing.Size(782, 484)
$ListViewProcesses.View = [System.Windows.Forms.View]::Details
$ListViewProcesses.LabelEdit = $false
$listviewProcesses.HideSelection = $false
$listviewProcesses.FullRowSelect = $True
$listviewProcesses.MultiSelect=$false
$listviewProcesses.GridLines = $True
$objFormProcesses.Controls.Add($listviewProcesses) 

enter image description here

我已经尝试过$ListViewProcesses.AutoResizeColumns(),但是应该在其中输入哪些参数?列标题?

1 个答案:

答案 0 :(得分:2)

the AutoResizeColumns method 的参数类型为System.Windows.Forms.ColumnHeaderAutoResizeStyle

您可以检出this MSDN page的枚举值及其含义。我假设您正在寻找2。

$ListViewProcesses.AutoResizeColumns(0)  # no resizing
$ListViewProcesses.AutoResizeColumns(1)  # base width on header length
$ListViewProcesses.AutoResizeColumns(2)  # base width on content length