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

问题描述 投票:1回答:1
$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中读取eventargs,特别是ScrollEventArgs.Type-property。我像往常一样尝试它(参见示例代码),但由于某种原因$ eventargs只包含一个字符串“system.eventargs”。我错过了什么/做错了什么?

powershell events richtextbox eventargs
1个回答
1
投票

我有一个解释,但不是解决方案:

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

Scroll事件发生在DataGridViewScrollableControlScrollBarDataGrid对照组。

相比之下,富文本框的VScroll事件委托接收[System.EventArgs]::Empty singleton,表示事件不提供数据([System.EventArgs]::Empty没有属性,因此只是字符串化的类型名称)。

© www.soinside.com 2019 - 2024. All rights reserved.