В файле Program.cs программы .Net CF 3.5 WinForms, которую я написал, я запускаю приложение, создавая экземпляр нового экземпляра Form1.Как убить процесс приложения форм Windows Mobile 6.1 при закрытии формы?
Application.Run(new Form1());
Когда я хочу, чтобы закрыть/выйти из приложения, я переопределить событие Form1 FormClosed, чтобы я мог обеспечить выход из приложения.
// In Form1 code-behind
private void OnFormClosed(object sender, EventArgs e)
{
Application.Exit(); // Doesn't kill process
}
При выполнении этого кода, я хочу, чтобы приложение, чтобы исчезнуть с экрана (близко), и я хочу, чтобы процесс был запущен, чтобы умереть. Приложение закрывается (исчезает), но, к сожалению, процесс (мы будем называть его app.exe) все еще работает бесконечно. Когда я снова запустил приложение и закрою его, он запустит еще один процесс app.exe и т. Д. Таким образом, процесс никогда не умирает, и еще больше создается еда памяти.
Как я могу обеспечить, чтобы этот процесс был убит, когда я закрываю/закрываю приложение? Благодарю.
Спасибо, ctacke. BTW отличный блог. Это помогало несколько раз. Я новичок в этом типе развития. Как вы программно обнаруживаете, есть ли рабочие потоки? У каждого нового экземпляра Form есть собственный поток? У меня есть несколько статических форм, запущенных в приложении, в котором я переключаюсь между ними, но я использовал Form1 в качестве начальной и конечной точки (aka: application «host»), думая, что когда я закрою это, все остальные закроются. – radian21
Вы можете программно определять потоки, но здесь это не нужно.В большинстве случаев поток будет тем, который вы создали в коде, вызвав новый поток (или, возможно, ThreadPool.QueueWorkItem). Формы не создают потоки (если вы явно не написали для нее код). – ctacke