$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”。我错过了什么/做错了什么?
答案 0 :(得分:1)
我有解释,但没有解决方案:
类型[System.Windows.Forms.ScrollEventArgs]
适用于不同控件的Scroll
事件:
Scroll
,DataGridView
,ScrollableControl
和ScrollBar
控件发生DataGrid
事件。
相比之下,富文本框的VScroll
事件代理会收到[System.EventArgs]::Empty
singleton,表示事件不提供数据([System.EventArgs]::Empty
没有属性,因此,将其简化为类型名称)。