C # форма не закрывается при событии FormClosing - PullRequest
1 голос
/ 04 октября 2010

После того, как я добавил следующий код в свой код, моя форма не закрывается.

private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
    MyThreadingObj.Dispose();
}

Ответы [ 2 ]

3 голосов
/ 04 октября 2010

Похоже, что добавление вышеуказанного кода предотвращает закрытие вашего Form. Если это так, то наиболее вероятной причиной является то, что оператор MyTHreadingObj.Dispose() вызывает исключение. Попробуйте обернуть оператор в try / catch и посмотреть, так ли это

try {
  MyThreadingObj.Dispose();
} catch ( Exception e ) { 
  Console.WriteLine(e);
}
0 голосов
/ 21 февраля 2013
protected override void OnFormClosing(FormClosingEventArgs e)
        {            
            base.OnFormClosing(e);
            if (PreClosingConfirmation() == System.Windows.Forms.DialogResult.Yes)
            {
                Dispose(true);
                Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
        }

        private DialogResult PreClosingConfirmation()
        {
            DialogResult res = System.Windows.Forms.MessageBox.Show(" Do you want to quit?          ", "Quit...", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            return res;
        }
...