首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么FormClosing会导致循环

为什么FormClosing会导致循环
EN

Stack Overflow用户
提问于 2021-03-24 22:08:35
回答 1查看 45关注 0票数 0

我有Restaurant POS,在销售屏幕上,我在表单加载时创建一个新的发票,并在结账时,如果没有项目插入到发票中,我删除当前发票,但如果有项目,我问用户是否真的确定他想关闭发票并取消发票如果是,我删除发票,如果没有,我将他保留在销售屏幕中。在关闭表单时,我检查用户类型,如果是员工,我会关闭整个应用程序,如果是管理员,我会正常关闭表单,这样他就可以返回主页表单

但是在表单关闭时,代码执行了2次,我不知道为什么,我知道代码正在无限循环,但我改进了代码,但它现在仍然执行了2次。

下面是我的代码:

代码语言:javascript
复制
 private void Sales_screen_FormClosed(object sender, FormClosedEventArgs e)
    {
        DBConn.Delete("Delete from invoices where ID=@ID", CommandType.Text, new SqlParameter[] { new SqlParameter("@ID", INVOICEID.ToString()) });
        if (Curent_user.Utype == "employee")
        {
            try
            {
                Environment.Exit(0);
            }
            catch (Exception)
            {
            }
        }
        else
        {
            Close();
            Dispose();
            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
    }

    private void Sales_screen_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (GV.Rows.Count > 0)
        {
            var result = CmessageBox.ShowDialog(this, "confirmation", "are you sure you want to close the invoice؟");
            if (result != DialogResult.Yes)
            {
                e.Cancel = true;
            }
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-26 01:05:31

通过删除else中的Close()行,它不应该循环

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66782832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档