.net - Powershell Winforms - 处理窗口事件
问题描述
代码没有按预期工作。ShowDialog() 正在阻塞线程。不处理事件。我怎样才能使这项工作?单击 3 次后必须关闭窗口。窗口可能会或可能不会在单独的线程中运行。Mainloop(write-host $x) 必须运行,而窗口可以处理鼠标点击事件。
function myform{
$m=0
$fr = New-Object -TypeName System.Windows.Forms.Form
$ev = Register-ObjectEvent -InputObject $fr -EventName Mouseclick -Action {
$m++
if($m -ge 3){
$fr.Close()
}
}
$fr.Activate()
$fr.ShowDialog()
}
#$myjob = Start-Job $Function:myform
$myjob
$x = 0
myform
while($x -lt 3){
$x++
write-host $x
Start-Sleep 2
}
Stop-Job -id $myjob.id
解决方案
推荐阅读
- angular - 如何在组合框选择上添加警告?
- qt - 连接
UI 文件中的部分 - lcd - 我在初始化 1604A-V1.2 字符模块时遇到问题
- c++ - 什么会导致此函数中的堆栈溢出?
- java - Java如何增加带有前导零的整数字符串?
- angular - Angular 路由如何在 github 页面上工作
- azure-active-directory - 如何设置 IdP 发起的使用 B2C 本地帐户登录到 Salesforce?
- html - 根据 HTML 链接标题分配每个事件值的网站 PDF(w/各种格式)数据列表
- r - 为什么我的 R 代码只返回 1 个输出?
- java - Java 自定义记录器 - 没有记录正确的类名