Как видно из названия значения, [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)