تأكيد مزدوج على الخروج
سؤال
أحاول أن أجعل الأمر حتى يُطلب من المستخدم تأكيد الخروج من برنامجي في C#، ولكن لسبب ما ، إذا قالوا "نعم" يرغبون في الخروج ، فإن مربع التأكيد سيظهر مرة أخرى. لا يمكنني معرفة السبب.
if (MessageBox.Show("Are you sure you want to exit?", "Confirm exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else { Application.Exit(); }
المحلول
آه ، هل قمت بفحص CloseReason
ل FormClosing
حدث؟ أعتقد أنك قد تحصل على نفس الحدث لسببين مختلفين (على الرغم من أنني لا أتوقع أن يحدث ذلك بشكل طبيعي) ؛ افحص FormClosingEventArgs
لمعرفة ما هي المعلمات.
نصائح أخرى
استخدم هذا
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Are you sure you want to close?", "Infomate", MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}
آه ، لقد اكتشفت كيفية إصلاحه. لقد أزلت application.exit () ؛ الحدث من الحدث الصيغ ، ونقله إلى الحدث المصمم. كل شيء يعمل الآن.
لا تنتمي إلى StackOverflow