我在我的WinForms应用程序中创建一个对话框。这有很多文本框和确定/取消按钮。当用户点击确定时,如果所有条目都有效,我只希望关闭对话框。我可以看到如何分别为每个控件的“验证”事件执行此操作。没事儿。但是,当控制失去焦点时,这些似乎只会发射。然而,在我的对话空文本框也是无效的输入,这意味着用户可能永远都集中在控制。我希望只需单击确定即可验证所有控件。验证数据在一个WinForm
我不能工作了如何做到这一点,虽然。重写OK按钮的onclick似乎并不具有从封闭停止窗口的选项。 Form IsClosing事件通过设置Cancel = true来完成。但是这似乎无法区分OK或Cancel按钮是否被点击。显然,如果点击取消按钮,我不关心验证和希望允许的形式关闭不管。
什么是这样做的最佳方法]
更新: 我已经有了的CausesValidation设置为我的两个形式和ok键,但我的验证事件的真实不被解雇当我点击确定按钮。我提到这是因为它被建议作为下面的解决方案。
为什么能”你打电话给你的验证(我建议看看数据绑定和验证你的绑定对象的方法)onclick ok按钮,然后不关闭验证的形式失败?单击确定后,表单不应该神奇地关闭。 –