2009-11-05 4 views
3

Мне нужна помощь. У меня есть приложение в форме окна. Всякий раз, когда я нажимаю «закрыть» формы, приложение должно закрываться.C# - приложение для формы окна - Закройте приложение

Может кто-нибудь мне помочь.

С уважением, Джастин Самуэль.

+0

Я имею в виду крест в верхней части окна. –

+0

Вам нужно будет рассказать нам более подробную информацию. Как показывают ответы, приложение обычно закрывается, когда основное окно приближается. –

+0

Извините .... Но на самом деле у меня небольшая форма, на которой появляется кнопка щелчка по новой форме. Теперь я ожидаю закрыть приложение, когда пользователь закрывает это второе окно (например, крест сверху справа нажат). Примечание: первая форма скрывается при открытии второй формы. –

ответ

5

После Вашего объяснения:

В Form1, сделать что-то вроде:

Form2 f2 = new Form2(); 
    f2.ShowDialog(); 
    this.Close(); 
    Application.Exit(); 

Это принимаемой Form2 можно показать Модальные (Dialog), который я считаю правильным

+0

Я пробовал ваше решение, но оно не работает. Я пропустил одну точку. Во второй форме я начинаю тему. Может ли это быть какой-либо мешающей точкой? –

+0

Justin, Да, если поток __not__ фоновый поток, он будет поддерживать ваш процесс. –

+0

Да, у моей нити был открытый объект TcpClient. Все, что мне нужно было закрыть этот объект, и он работал очень хорошо! Спасибо Хенку за руководство! –

2

Приложение Winforms автоматически выйдет, когда основная форма будет закрыта. Основная форма - это форма, которая создается и передается методу Application.Run в основном методе приложения.

Если процесс приложения не завершается, когда эта форма закрыта, что-то препятствует ее закрытию, например, поток (который не является фоновым потоком), который выполняет некоторую работу.

2

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

Вам нужно добавить обработчик событий для Form_FormClosed события, а затем вызвать Application.Exit() - В идеале, вы можете также обрабатывать Form_FormClosing событие, если вы хотите, чтобы дать пользователю диалоговое окно, чтобы спросить, если они действительно собирались закрыть.

Смежные вопросы