1

我目前正试图让 powershell 使用“OwnerDraw”属性绘制一个 listview 对象。

据我了解,我应该将句柄放在 Listview 对象中,我假设我通过使用标题的命令来做到这一点,例如:

$listview_DrawColumnHeader

然后从那里绘制项目,但是我在互联网上可以找到的唯一示例是 C#,我不知道如何适应 powershell !无论如何我可以在powershell中运行C#代码并让C#绘制listview吗?或者这不是有效的吗?

我这样做的原因是因为我有一个使用类似于“Cerulean”的颜色的表格,在使用标准的蓝色“突出显示”颜色时看起来不太好。我有很多 powershell GUI,我知道可以自定义它,所以我想学习如何,然后我可以开始创建看起来更专业的 GUI!

虽然我有使用 register-objectevent cmdlet 的经验,但我对 C# 和在对象中放置句柄没有太多经验。

任何帮助,将不胜感激 !

乔什

4

1 回答 1

1

创建 WinForms ListView 对象后,将 OwnerDraw 属性设置为 $true 并订阅 DrawColumnHeader 事件,例如:

$listView.OwnerDraw = $true
$listView.add_DrawColumnHeader({ 
    $eventArgs.DrawBackground()
    $eventArgs.Graphics.DrawString($eventArgs.SubItem.Text, $listView.Font, ...)
})

有关详细信息,请参阅此MSDN 主题

于 2013-07-29T16:07:44.693 回答