2010-02-14 4 views
6

Как сделать так, как нажав на кнопку закрытия, сделайте так, чтобы форма не была закрыта, и она была отключена?Действие при закрытии формы

private void Form1_Closed(object sender, EventArgs e) 
{ 
    Form1.Hide(); 
} 

Таким образом, форма все-таки закрыта.

ответ

16

Вы должны сделать это на FormClosing не FormClosed событие так:

private void Form1_FormClosing(object sender, EventArgs e) { 
    Form1.Hide(); 
    e.Cancel = true; 
} 

FormClosed означает, что форма уже закрыта.

0

Используйте событие FormClosing и установите e.Cancel в true.

1

Вы хотите прервать событие формы закрытия и отменить его, например, чтобы свести к минимуму:

private void Form_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    e.Cancel = true; 
    this.WindowState = FormWindowState.Minimized; 
} 
+0

Minimized сделает его остаться, только в минимизированная форма. – MadBoy

+1

@MadBoy - Согласен, но вопрос был неясным, и это самый распространенный сценарий ... это или отправка в лоток, поэтому просто выбрасывать этот вариант там. –

0

см Form.Closing Event

Вот образец. у вас есть несколько вариантов

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    // this.Hide(); 
    // e.Cancel = true; 
    this.Close();   

} 

удалить форму как с дисплея , и из памяти, то необходимо закрыть, а не показывать это

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