通过 Powershell 从 Richtextbox-Scroll 事件中读取 EventArgs

Read EventArgs from Richtextbox-Scroll event via Powershell

$DebugPreference = "Continue"
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$form = New-Object system.Windows.Forms.Form
$form.size  = "400,400"
$rtb = New-Object system.Windows.Forms.RichTextBox
$rtb.size  = "350,350"
$rtb.text = 1..1000
$form.controls.add($rtb)

$rtb.add_VScroll({ 
    param($sender, $eventargs) 
    Write-Debug "Scroll Event $(get-date -format `"mm:ss:ms`")`r`n $($eventargs | out-string) "
})

$form.showdialog()

我正在尝试从 VScroll -Event 读取事件参数,特别是 ScrollEventArgs.Type-property。我像往常一样尝试了它(参见示例代码),但由于某种原因 $eventargs 只包含一个字符串 "system.eventargs"。我 missing/doing 哪里错了?

我有解释,但没有解决方案:

类型[System.Windows.Forms.ScrollEventArgs]适用于不同控件的Scroll事件:

The Scroll event occurs for the DataGridViewScrollableControlScrollBar, and DataGrid controls.

相比之下,富人 text-box 的 VScroll event delegate receives the [System.EventArgs]::Empty singleton,表示事件 没有提供任何数据[System.EventArgs]::Empty 没有属性和因此字符串化为简单的类型名称).