C# 当我选择“否”时窗体仍在关闭
我有以下代码C# 当我选择“否”时窗体仍在关闭,c#,winforms,C#,Winforms,我有以下代码 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (cmd.cetakTanya("Are you sure you want to exit ?")) { cmd.cetakSukses("Thank you for using " + cmd.title); startURL(); } } public bool ceta
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (cmd.cetakTanya("Are you sure you want to exit ?"))
{
cmd.cetakSukses("Thank you for using " + cmd.title);
startURL();
}
}
public bool cetakTanya(string message)
{
bool status = false;
DialogResult dialogResult = MessageBox.Show(message, title, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
if (dialogResult == DialogResult.Yes)
{
status = true;
}
else if (dialogResult == DialogResult.No)
{
status = false;
}
return status;
}
为什么即使我在确认对话框中选择“否”,我的表单仍然关闭?您需要取消该事件:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (cmd.cetakTanya("Are you sure you want to exit ?"))
{
cmd.cetakSukses("Thank you for using " + cmd.title);
startURL();
}
else
{
e.Cancel = true;
}
}
您需要取消该活动:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (cmd.cetakTanya("Are you sure you want to exit ?"))
{
cmd.cetakSukses("Thank you for using " + cmd.title);
startURL();
}
else
{
e.Cancel = true;
}
}
如果单击“否”,请使用该属性取消事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (cmd.cetakTanya("Are you sure you want to exit ?"))
{
cmd.cetakSukses("Thank you for using " + cmd.title);
startURL();
}
else
e.Cancel = true;
}
此外,您的方法可以进行重构,使其更加紧凑:
public bool cetakTanya(string message)
{
var result = MessageBox.Show(message, title, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
return result == DialogResult.Yes;
}
如果单击“否”,请使用该属性取消事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (cmd.cetakTanya("Are you sure you want to exit ?"))
{
cmd.cetakSukses("Thank you for using " + cmd.title);
startURL();
}
else
e.Cancel = true;
}
此外,您的方法可以进行重构,使其更加紧凑:
public bool cetakTanya(string message)
{
var result = MessageBox.Show(message, title, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
return result == DialogResult.Yes;
}
为了防止它关闭,您需要使用FormClosingEventArgs。您可以将FormClosingEventArgs传递给cetakTanya方法,并在dialogResult上执行。否,您可以设置e.Cancel=true以防止表单关闭。要实际防止表单关闭,您需要使用FormClosingEventArgs。您可以将FormClosingEventArgs传递给您的cetakTanya方法并在dialogResult上执行。不,您可以设置e.Cancel=true以防止表单关闭。感谢您的建议,我正在使用
cetakTanya()
确认对话框来确保DML将被执行!显然,我正在用同样的方法对不起作用的结帐单进行确认。我必须使用cancel
使它工作。谢谢感谢您的建议,我正在使用cetakTanya()
确认对话框来确保DML将被执行!显然,我正在用同样的方法对不起作用的结帐单进行确认。我必须使用cancel
使它工作。谢谢