相关疑难解决方法(0)

使用Application.DoEvents()

可以Application.DoEvents()在C#中使用吗?

这个函数是否能够让GUI跟上应用程序的其余部分,就像VB6 DoEvents一样?

c# doevents winforms

263
推荐指数
6
解决办法
17万
查看次数

为什么我的 WindowsForm 在执行循环时没有响应

这可能是一个很难回答的问题。我写了一个脚本来检查进程的响应属性。为了可视化脚本正在运行,我创建了一个 Windows 窗体,您可以在其中查看正在监视的进程。该脚本运行良好,但我无法对我的 winform 执行任何操作。无法最小化或关闭它,一旦我将光标移动到 windowsform,我的鼠标光标就会切换到沙漏符号。任何想法为什么?

当我注释掉 while 循环时,winform 也没有响应

这是我的代码:

if ($ShowWindowsForm){
    $window = New-Object System.Windows.Forms.Form
    $window.text = "Process Watcher"
    $window.size = New-Object System.Drawing.Size(350,100) 
    $window.location = New-Object System.Drawing.Size(100,100) 
    $icon = [system.drawing.icon]::ExtractAssociatedIcon($PSHOME + "\powershell.exe")
    $window.Icon = $Icon
    $text = New-Object System.Windows.Forms.Label
    $text.Text = "Folgender Prozess wird überwacht:`n$target.exe"
    $text.location = New-Object System.Drawing.Size(10,10) 
    $text.AutoSize = $true
    $window.Controls.Add($text)
    $window.Show()
}
while (1) {
    sleep -Milliseconds 100
    if(!((get-process $target).Responding -eq $true)) {
    #do stuff
}
Run Code Online (Sandbox Code Playgroud)

powershell winforms

4
推荐指数
1
解决办法
4268
查看次数

标签 统计

winforms ×2

c# ×1

doevents ×1

powershell ×1