2016-05-16 2 views
0

Мое приложение, как представляется, полностью пропускает событие Form_Closing, и я не знаю, почему. Я попытался отладить его, используя e.cancel и показывая сообщение, когда он закрывается, но окно сообщений никогда не отображается, а e.cancel не отменяет его. Мой кодVisual C# полностью игнорирует событие FormClosing

public void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (isClosed == false) 
     { 
      e.Cancel = true; 
      base.OnFormClosing(e); 
      this.Hide(); 
      this.WindowState = FormWindowState.Minimized; 
     } 
     else 
     { 
      Application.Exit(); 
     } 
    } 

Спасибо :)

+0

проверить, имеет ли значение boolean значение закрыто? добросердечно поместите код внутри base.OnFormClosing (e); также. –

+0

Используете ли вы приложение. Выход или просто внезапное закрытие приложения. Кроме того, проверьте значение isclosed is not true – Shon

+0

Я попытался поместить сообщение в оператор else, и он не показал, что он не является логическим. @Shon –

ответ

-1

Начать только с помощью окна сообщения, чтобы определить, что вы заяц правильного события Затем проверьте значение IsClosed, так как я подозреваю, что это правда.

+0

Я также тестировал размещение сообщения в else {}, и это не сработало. Использование только сообщений также не работает –

+0

Я подозреваю, что код находится в неправильной области. Используйте список событий forn и используйте форму закрытия оттуда – Shon

1

Ваш метод имеет подпись, подходящую для обработчика события FormClosing, но вы вызываете base.OnFormClosing, что подходит только для переопределения OnFormClosing.

Выберите один. Например, переопределение будет выглядеть так:

protected override void OnFormClosing(FormClosingEventArgs e) 
    { 
     if (isClosed == false) 
     { 
      e.Cancel = true; 
      base.OnFormClosing(e); 
      Hide(); 
      WindowState = FormWindowState.Minimized; 
     } 
     else 
     { 
      Application.Exit(); 
     } 
    } 
+0

, она возвращает эту ошибку https://gyazo.com/2e95924e7cddeccd6767c3a308af5fde –

+0

@Tyler: Замечательно, сообщение об ошибке сообщило вам, как его исправить. Научитесь читать сообщения об ошибках и помогать себе. –

+0

um ... ok. Не получилось много удачи от Google. –

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