Как выйти из приложения Windows Forms из функции обработчика событий? - PullRequest
3 голосов
/ 16 ноября 2011

Я пишу скрипт powershell для резервного копирования и восстановления баз данных.Я использую формы для сбора пользовательского ввода.В любой момент процесса сбора информации пользователь может нажать «отмена».

Чтобы сохранить порядок, я переместил логику формы в отдельные функции.Есть ли способ «завершить» весь сценарий из функции?

Я попытался поместить команду выхода в событие add_click, но получаю ошибку исключения.

Ответы [ 2 ]

6 голосов
/ 16 ноября 2011

Вы хотите закрыть все, когда нажата кнопка «Отмена», верно?

Тогда вместо exit выполните:

[environment]::exit(0)

Это будет гарантировать, что при нажатии Отменавыполнение самого сценария powershell останавливается, вместо того, чтобы просто пытаться остановить приложение формы в одиночку.Если есть части скрипта, которые не следует запускать после отмены формы, используйте этот подход.

Если вы находитесь в консоли и не хотите, чтобы выход закрывал оболочку, запустите скрипткак:

powershell .\script.ps1
5 голосов
/ 16 ноября 2011

Я думаю, что вы, вероятно, хотите:

[System.Windows.Forms.Application]::Exit($null)

, поскольку решение manojlds убьет всю оболочку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...