如果取消对话框的对话框结果,则关闭当前表单

时间:2017-08-31 11:55:47

标签: c# dialog inputbox dialogresult

我有一张表格(frmcustlist)。 在此列表中,我一次使用数据集扫描列表,并检查它是否为0(没有客户离开)。

在这个阶段,我弹出一个输入框(对话框)来询问新的客户名称。 如果他们按好一切都很好。我还对输入框进行了验证。 但是如果他们按CANCEL,我可以让它退出对话框,但不能关闭调用对话框的frmcustlist。

using (inputbox ipfirst = new inputbox("Enter Customer First Name:", "", ""))
                    {
                        if (ipfirst.ShowDialog() == DialogResult.OK)
                        {
                            newfirstname = ipfirst.answer;
                        }
                        else
                        {
                            this.Close();
                        }

                    }

现在,this.close()根本不起作用..所以我使用return;来阻止它继续询问姓氏和出生日期..但我希望它停止询问问题(如返回)AS WELL as close frmcustlist。 ... 感谢您提供任何建议。

PS。这出现在一些地方,但也在frmcustlist_load被调用..我不知道这是否会有所作为!

1 个答案:

答案 0 :(得分:0)

STEVE在评论中作出了回答。 由于frmcustlist被称为Dialog,我最终不得不给该对话框一个取消结果。

最终守则有效:

using (inputbox ipfirst = new inputbox("Enter Customer First Name:", "", ""))
                    {
                        if (ipfirst.ShowDialog() == DialogResult.OK)
                        {
                            newfirstname = ipfirst.answer;
                        }
                        else
                        {
                            DialogResult = DialogResult.Cancel;
                            return;
                        }

                    }