我正在打开一个模态对话框,要求用户填写某些字段。
if(dlgUserDetail.ShowDialog() == DialogResult.OK)
{
}
单击“确定”后,控件将转到父表单,我将验证用户输入。
如果验证失败,我希望使用旧值保持对话框打开。由于它是模态对话框,因此表单将被关闭。
这似乎是一个常见的问题,因为我在网上看到很多讨论,但我无处可寻找解决方案。
请让我知道如何解决这个问题。感谢。
此致 ArunDhaJ
答案 0 :(得分:1)
一种解决方案是将验证逻辑放入dlgUserDetail表单并在OnClosing事件上调用它。如果验证失败,则阻止表单关闭。
答案 1 :(得分:1)
如果是您的对话框,您可以添加一个名为CancelEventArgs
或Validate
的{{1}}事件(类似于OpenFileDialog中的InputOk
)并让您的主表单检查输入一个方法。在对话框中调用FileOk
之前,添加'onValidate`调用以检查输入是否有效。
DialogResult = DialogResult.OK