【问题标题】:How to automatically resize columns in a listview?如何自动调整列表视图中的列大小?
【发布时间】:2018-12-05 10:16:16
【问题描述】:

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

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

一切正常,但问题是(如图所示)每列的大小无法自动适应内容。

我在 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) 

我试过$ListViewProcesses.AutoResizeColumns(),但是我应该把哪些参数放在里面?列标题?

【问题讨论】:

    标签: winforms powershell listview autosize


    【解决方案1】:

    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
    

    【讨论】:

    • 就是这样!我已经把填充列表视图的函数放在了底部,它起作用了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多