2009-12-17 2 views
3

을 종료응용 프로그램, Form2를가 나타납니다, 난을 Form2에 닫기 버튼을 클릭하여 내 모든 응용 프로그램을 종료하려면 내가 공연 양식을 Form1에 2 버튼을 클릭했을 때 나는 두 가지 형태를 가지고 내 프로젝트에 도움

수있는 사람하시기 바랍니다 내가 어떻게 할 수 있니? 당신이 의미하는 경우이 TButton 닫기는 다음 Button.OnClick 이벤트 호출, 클릭 호출 할 때 폼의 X 버튼을 클릭 할 때 의미하는 경우

답변

4

Application.Terminate;

, 다음을 Form2의으로 onClose 이벤트에 전화 Application.Terminate;

+0

감사합니다. 친구, 잘 했어. – noob

16

기본 앱 양식의 OnCloseQueryOnClose 처리기를 호출 (예 : 취소하거나 수정 된 파일을 저장할지 묻는 등) 할 수 있도록하려면 Application.Terminate을 사용하지 마십시오.

당신은 모든 형태의 (심지어 기본 폼 자체)에서 대신

Application.MainForm.Close; 

를 호출 할 수 있습니다.

-4

가장 쉬운 게시 모드는 사용자에게 있습니다. TerminateProcess (GetCurrentProcessID, 0); 물어 보지 마시고, 멈추지 마시고, 아니요.

+3

API 도움말에서 "TerminateProcess 함수는 무조건 프로세스를 종료시키는 데 사용됩니다. 극한 상황에서만 사용하십시오." Application.Terminate는 스레드 및 기타 프로세스를 정상적으로 종료 할 수있게 해주는 PostQuitMessage 함수를 호출합니다. –

0

또 다른 옵션은 응용 프로그램/application.mainform에 WM_CLOSE 메시지를 보내는 것입니다

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

또는

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

이 메시지에 이미 메시지를 기존 메시지 큐에서 가까운 요청을 배치 대기열이 먼저 처리를 계속합니다.

관련 문제