Winforms 如何在powershell中更改列表框中项目的高度?

Winforms 如何在powershell中更改列表框中项目的高度?,winforms,powershell,listbox,Winforms,Powershell,Listbox,我试图将项的高度设置为列表框的高度。换句话说,在列表框中只能看到一个项。现在,有两个项目是可见的 我尝试更改DrawMode属性以及IntegralHeight但没有效果。有什么建议吗?如值名所示,[DrawMode]::OwnerDrawFixed要求控件所有者(即您!)在屏幕上显式绘制项目 您可以通过将事件处理程序添加到DrawItem事件属性来完成此操作: $listBox.add_DrawItem({ param( [object]$sender,

我试图将项的高度设置为
列表框的高度。换句话说,在
列表框中只能看到一个项。现在,有两个项目是可见的


我尝试更改
DrawMode
属性以及
IntegralHeight
但没有效果。有什么建议吗?

如值名所示,
[DrawMode]::OwnerDrawFixed
要求控件所有者(即您!)在屏幕上显式绘制项目

您可以通过将事件处理程序添加到
DrawItem
事件属性来完成此操作:

$listBox.add_DrawItem({
    param(
        [object]$sender,
        [System.Windows.Forms.DrawItemEventArgs]$eargs
    )

    $eargs.DrawBackground()

    $eargs.Graphics.DrawString($listBox.Items[$eargs.Index].ToString(), $eargs.Font, [System.Drawing.Brushes]::Black, $eargs.Bounds.Left, $eargs.Bounds.Top)
    $eargs.DrawFocusRectangle()
})
$eargs.Font
继承自
$listbox.Font
,因此,如果希望绘制的字符串也更大,请进行修改:

$listBox.Font = [System.Drawing.Font]::new($listBox.Font.FontFamily.Name, 18)

请尝试将
$listBox.height的值设为17。T-Me可以,但我希望保持原始高度。也许您要的是a,而不是?Theo,事实上,您是对的,它更适合我的需要。然而,在玩了一会儿之后,我发现改变
组合框的高度并不容易。不过还是要谢谢你!
$listBox.Font = [System.Drawing.Font]::new($listBox.Font.FontFamily.Name, 18)