Я создал программу на С#, используя 2 формы. Я добавляю им обоим кнопку выхода с помощью метода close();. Но когда я запускаю исполняемый файл, даже если я закрываю программу с помощью кнопки выхода, программа все равно запускается в процессах в диспетчере задач. Я считаю, что это связано с тем, что одна форма закрывается, а другая загружается в память и не останавливается. Такие ситуации. почему мы завершаем всю программу, не сохраняя ее в памяти? Метода close(); недостаточно?
Форма запускается в процессах даже после закрытия программы
Ответы (1)
Это может произойти по-разному. Некоторые из наиболее распространенных включают в себя:
- Если вы используете
Application.Run()(вместоApplication.Run(someForm)) для запуска приложения, оно будет работать до тех пор, пока вы не вызоветеApplication.Exitили не закроете его другим способом. Закрытие форм не приведет к закрытию приложения - Если вы запустите поток через
new Threadи не сделаете его фоновым потоком, это также поддержит программу. Процессы будут оставаться в живых до тех пор, пока не будут завершены все потоки переднего плана. Вы можете обойти это, сделав поток фоновым потоком (или используя классTaskвместоThread).
person
Reed Copsey
schedule
30.12.2013
Спасибо за ответ буду разбираться.
- person Nipun Alahakoon; 31.12.2013
[STAThread]? - person Mike Perrenoud   schedule 31.12.2013Program.cs. Это файл, который фактически запускает приложение. Там будет метод, отмеченный[STAThread]. - person Mike Perrenoud   schedule 31.12.2013