如何在PowerShell中正确处理Windows表单控件的事件并使用Sender
和EventArgs
?
以下C#代码在PowerShell中的等效代码是什么?
button.MouseClick += (sender, e) => {
MessageBox.Show($"{((Control)sender).Name} \n {e.Location}");
};
如何在PowerShell中正确处理Windows表单控件的事件并使用Sender
和EventArgs
?
以下C#代码在PowerShell中的等效代码是什么?
button.MouseClick += (sender, e) => {
MessageBox.Show($"{((Control)sender).Name} \n {e.Location}");
};
若要正确处理 PowerShell 中 Windows Forms 控件的事件并利用 Sender
和 EventArgs
,您可以使用以下任一选项:
sender
和 e
参数$this
和 $_
变量为脚本块定义 sender
和 e
参数
与 C# 中的 Lambda 事件处理程序一样,您可以为脚本块定义 param($sender,$e)
:
$button.Add_MouseClick({param($sender,$e)
[System.Windows.Forms.MessageBox]::Show(" $($sender.Name) `n $($e.Location)")
})
使用$this
和$_
变量
$this
是事件的发送者,$_
是事件参数:
$button.Add_MouseClick({
[System.Windows.Forms.MessageBox]::Show(" $($this.Name) `n $($_.Location)")
})
param($sender, $e, $is='MouseClick')
? - Alban