代码之家  ›  专栏  ›  技术社区  ›  Redwood

显示带有PowerShell脚本焦点的WinForms对话框

  •  6
  • Redwood  · 技术社区  · 14 年前

    我的一个同事刚来找我,有个有趣的问题。

    他正在显示PowerShell脚本中的WinForms窗体,当窗体成功打开时,它无法获得焦点。相反,在显式单击窗体之前,PowerShell命令窗口将保持焦点。

    正在使用\scriptname.ps1从PowerShell命令行运行脚本。

    我们尝试了dlg.showDialog()(带和不带$this)、dlg.show()、dlg.focus()等各种组合,但没有成功。

    有人知道如何在窗体显示时提供焦点吗?

    1 回复  |  直到 14 年前
        1
  •  9
  •   Redwood    14 年前

    这就是我们使它工作的方式(第一行是我们丢失的那一行):

    $WinForm.Add_Shown({$WinForm.Activate()})
    $WinForm.ShowDialog($this) | out-null