【发布时间】:2015-04-09 03:14:42
【问题描述】:
当我在 PowerShell 中创建表单(窗口)时,我通常可以使用 .ShowDialog() 显示表单:
$form = New-Object System.Windows.Forms.Form
$form.ShowDialog()
.Visible 在 .ShowDialog() 前后设置为 False。
但是当我执行 .Show() 时,屏幕上什么也没有显示:
$form.Show()
并且 .Visible 现在设置为 True(可能是因为 .Show() 使表单正式可见。)
当我现在再次尝试 .ShowDialog() 表单时,我收到以下错误消息:
“已经可见的表单不能显示为模态对话框。在调用showDialog之前将表单的可见属性设置为false。”
但是当我再次按照 .ShowDialog() 的说明进行操作时
$form.Visible=0
$form.ShowDialog()
结果是屏幕上没有显示任何内容,并且 PowerShell 挂起并且无法恢复(ctrl-c 似乎不起作用)。我认为这是因为表单以模态方式显示在我看不到它的地方(或标签)。但为什么呢?
表单的坐标没有改变。那么表单如何决定何时可见,何时不可见呢?
【问题讨论】:
-
有点晚了(!),但我发布了 possible solution 以供将来参考。
标签: winforms powershell