Winforms中的专用标签中的自动验证

时间:2009-09-29 07:53:59

标签: c# .net winforms

我在某些地方看到过(抱歉,目前无法提供链接)表单中的验证错误会显示在顶部的标签中。当用户填写表单时,该错误文本会相应更改。

我可以看到一个明显的if ... else和处理“Validating”等事件来实现这一点(虽然它对于复杂的表单来说可能会非常繁琐)。有没有更简单,更清洁的方法来做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:1)

您应该按照this blog post中的说明考虑实施IDataErrorInfo。然后,您可以将Label绑定到IDataErrorInfo.Error媒体资源。添加一点INotifyPropertyChanged,您的Label将自动更新。

答案 1 :(得分:0)

如果您想避免在表单上的所有文本框中添加“验证”事件(并且这使得复杂的表单更加复杂),您可以尝试通过表单的OnKeyDown事件捕获所有输入。在那里进行一些解析(跟踪写入的内容和焦点对象)。这样你就可以在一个地方处理所有事情。