コード ビハインドに次のコードを追加した後、フォームが閉じられません。
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
MyThreadingObj.Dispose();
}
コード ビハインドに次のコードを追加した後、フォームが閉じられません。
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
MyThreadingObj.Dispose();
}
上記のコードを追加するとForm
、閉じられないようです。その場合、最も可能性の高い原因は、MyTHreadingObj.Dispose()
ステートメントが例外をスローしていることです。ステートメントを try/catch でラップしてみて、これが当てはまるかどうかを確認してください
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;
}