После того, как я добавил следующий код в мой код, моя форма не закрывается.Форма C# не закрывается на событии FormClosing
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
MyThreadingObj.Dispose();
}
После того, как я добавил следующий код в мой код, моя форма не закрывается.Форма C# не закрывается на событии FormClosing
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
MyThreadingObj.Dispose();
}
Похоже, что добавление вышеуказанного кода предотвращает закрытие вашего Form
. Если это так, то наиболее вероятной причиной является то, что оператор MyTHreadingObj.Dispose()
генерирует исключение. Попробуйте оберточной заявление в Try/улове и увидеть, если это так
try {
MyThreadingObj.Dispose();
} catch (Exception e) {
Console.WriteLine(e);
}
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;
}
Что вид объекта OBJ, что вы избавляетесь? – Web
Оберните утилиту в try/catch и покажите или запишите любое исключение, которое вы получите - это может дать вам подсказку. И повторяя то, что @Web говорит: почему вы распоряжаетесь тем, что «obj» в этот момент? –