приложение прекратить помощь - PullRequest
3 голосов
/ 17 декабря 2009

в моем проекте у меня есть две формы, когда я нажимаю кнопку Показать форму 2 в форме 1, появляется форма 2, я хочу завершить работу всего приложения, нажав кнопку закрытия на форме 2,

Может кто-нибудь сказать мне, как я могу это сделать?

Ответы [ 4 ]

16 голосов
/ 17 декабря 2009

Не используйте Application.Terminate, если хотите, чтобы вызывались обработчики OnCloseQuery и OnClose основной формы приложения (например, чтобы можно было отменить это или спросить, сохранять ли измененные файлы или тому подобное).

Вы можете позвонить

Application.MainForm.Close;

вместо всех форм (даже самой основной формы).

4 голосов
/ 17 декабря 2009

Если вы имеете в виду, когда нажата кнопка TButton с именем Close, то в вызове события Button.OnClick Application.Terminate;

Если вы имеете в виду, когда нажимается кнопка X формы, то в событии OnClose формы Form2 вызовите Application.Terminate;

0 голосов
/ 17 декабря 2009

Другой вариант - отправить сообщение wm_Close в application / application.mainform

PostMessage(Application.Handle,wm_Close,0,0);

или

PostMessage(Application.MainForm.Handle,wm_Close,0,0);

Это помещает запрос на закрытие в очередь сообщений, существующие сообщения, уже находящиеся в очереди сообщений, будут продолжать обрабатываться в первую очередь.

0 голосов
/ 17 декабря 2009

Самый простой режим для пользователя TerminateProcess (GetCurrentProcessID, 0); не спрашивай, не замораживайся, не сь * iet.

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