Когда я создаю форму (окно) в PowerShell, я обычно могу отображать форму с помощью .ShowDialog ():
$form = New-Object System.Windows.Forms.Form
$form.ShowDialog()
.Visible имеет значение False до и после .ShowDialog ().
Но когда я делаю .Show (), на экране ничего не отображается:
$form.Show()
И .Visible теперь имеет значение True (предположительно потому, что .Show () сделал форму официально видимой.)
Когда я сейчас снова пытаюсь выполнить .ShowDialog () форму, я получаю следующее сообщение об ошибке:
"Форма, которая уже видима, не может быть отображена как модальное диалоговое окно. Установите свойство visible формы в false до вызова showDialog."
Но когда я следую инструкциям .ShowDialog () снова
$form.Visible=0
$form.ShowDialog()
В результате ничего не отображается на экране, а PowerShell зависает и не может восстановиться (ctrl-c не работает). Я предполагаю, что это потому, что форма отображается модально где-то там, где я не вижу ее (или вкладку к ней). Но почему?
Координаты формы не изменились. Так как же форма определяет, когда она физически видима, а когда нет?