2012-03-21 2 views
0

Я создал приложение. В этом я создал кнопку. После нажатия кнопки процесс get начал. Теперь, когда я нажимаю кнопку закрытия («X») приложения, приложение закрывается. Я хочу, чтобы все это произошло одним нажатием кнопки. Когда я нажимаю кнопку в первый раз, он должен начать процесс &, как только щелкните по той же кнопке снова, процесс должен быть закрыт.Начало процесса & конец при нажатии кнопки

ответ

0

Вы можете использовать флаги, которые сохраняют истинное значение, если приложение уже запущено, то есть если кнопка нажата в первый раз. Затем используйте простое условие if, чтобы вызвать соответствующую функцию.

1

Вот оно. Комментарии находятся внутри кода.

using System.Diagnostics; 

/// <summary> 
/// Process started by our app 
/// </summary> 
Process process; 

private void button1_Click(object sender, EventArgs e) 
{ 
    // Haven't been started yet or user closed it 
    if (process == null || process.HasExited) 
    { 
     // Do open 
     try 
     { 
      process = Process.Start("notepad.exe"); 
     } 
     catch (Exception ex) 
     { 
      // Inform user about error 
     } 
    } 
    // It is started 
    else 
    { 
     // many a thing can go wrong here. 
     // Even something as simple as user closing the app himself 
     try 
     { 
      // Send app instruction to close itself 
      if (!process.CloseMainWindow()) 
      { 
       // Unable to comply - has to be put to death 
       // Merciful people might give it a few retries 
       // before execution 
       process.Kill(); 
      } 
     } 
     catch (Exception ex) 
     { 
      // Inform user about error 
     } 
     finally 
     { 
      // So the cycle of life can start again 
      process = null; 
     } 
    } 
} 
+0

спасибо это хорошо работает теперь я открываю приложение на кнопку мыши и закрыть его через кнопку закрытия («X») еще раз, когда я открываю приложение снова требует двойных щелчков кнопки я хочу, чтобы это сделать через одну кнопку нажмите, пожалуйста, помогите. – vaibhav271

+0

Я изменил свой образец. Вы найдете _ || process.HasExited _ part в начале метода. –

+0

У меня есть еще одно сомнение, как закрыть одну форму окна на кнопке, нажав кнопку – vaibhav271

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