2014-11-25 4 views
-7

Давайте предположим, что у меня есть кнопка под названием «Выход» в применении WinformsC# - как создать кнопку закрытия

Что будет код в C# при нажатии на кнопку будет спросить, если вы хотите закрыть программа?

+0

Это зависит от типа вашего приложения. Это консоль или графический интерфейс? –

+0

для какого приложения winforms? веб-формы? консоль ? пожалуйста, будьте более конкретными в отношении ваших тегов и вопросов. –

+0

Это Visual Studio 2013 - WindowsFormApplication – cdrrr

ответ

0

на кнопку мыши событие просто позвоните:

this.Close() 

или

Application.Exit(); 
+1

Это не будет «спросить, хотите ли вы закрыть программу», как указано OP. – CodeCaster

0

Из MSDN:

Application.Exit

Информирует все сообщения насосов, что они должны прекратить, и затем закрывается все окна приложений после обработки сообщений. Этот - это код для использования, если вы вызвали приложение Application.Run (WinForms ), этот метод останавливает все запущенные петли сообщений на всех потоках и закрывает все окна приложения.

Environment.Exit

завершает этот процесс и дает основной операционной системы на указанный код выхода. Это код для вызова, когда вы используете консольное приложение .

0
MessageBoxResult result = Confirm("Are you sure you want to Close?","Close Application"); 
if (result == MessageBoxResult.Yes) 
{ 
    Application.Exit(); 
} 

private static MessageBoxResult Confirm(string message, string caption) 
{ 
     return MessageBox.Show(message, caption, MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.No); 
} 
4

Просто использовать FormClosingEventArgs

private void Form_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (MessageBox.Show("This will close down the whole application. Confirm?", "Close Application", MessageBoxButtons.YesNo) == DialogResult.Yes) 
     { 
      MessageBox.Show("The application has been closed successfully.", "Application Closed!", MessageBoxButtons.OK); 

     } 
     else 
     { 
      e.Cancel = true; 
      this.Activate(); 
     } 
    } 
0

Просто присоедините Click-событие (или в зависимости от того события, которое вы хотите) к этому коду.

private void Exit_Click(object sender, EventArgs e) 
{ 
    DialogResult dialogResult = MessageBox.Show("Text here", "Header here", MessageBoxButtons.YesNo); 
    if (dialogResult == DialogResult.Yes) 
    { 
     Close(); 
    } 
} 
Смежные вопросы