为什么选择“不”它要求两次?

时间:2017-02-08 17:30:33

标签: c# .net winforms

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("Are you sure you want to exist ?",
                        "Are you sure you want to exist ?",
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Information) == DialogResult.No)
            {
                e.Cancel = true;
                Application.Exit();
            }
        }

如果我点击是,它就存在了。但是,如果我单击“否”,则会再次显示该消息,并且仅在第二次显示“否”生效。

我有一个后台工作者和一个我更新的richTextView。 e.Cancel = true,application.exit就足够了吗?

2 个答案:

答案 0 :(得分:6)

你的逻辑是不对的,你需要做其中一个动作,而不是两个都取决于挑选的内容。

<?php
$default = 'wepay';
$options = array('wepay' => 'WePay', 'paypal' => 'Paypal', 'donorbank' => 'Donor Bank');
echo $this->Form->input('payment_method', [
    'nestingLabel' =>
         '{{hidden}}<label class="radio-inline"{{attrs}}>{{input}}{{text}}</label>',
    'type'      => 'radio',
    'options'   => $options,
    'default'   => $default
]);
?>

答案 1 :(得分:4)

如果您选择“否”,则会使用FormClosing取消当前的e.Cancel = true;活动 但无论如何你打电话给Application.Exit();。因此,Form再次关闭,FormClosing再次被提升。

删除行Application.Exit(),一切都应该正常。