我有一些文本框数据绑定到BindingSource到自定义业务对象.数据绑定按以下代码完成 -
txtBookNo.DataBindings.Add("Text", bs, "BookNo", true, DataSourceUpdateMode.OnPropertyChanged, null, "G", GlobalVariables.CurrentCultureInfo);
Run Code Online (Sandbox Code Playgroud)
现在我想验证用户输入.哪个事件最适合此目的 - Textbox.Validating或Textbox.Validated?而且,DatasourceUpdateMode- OnPropertyChanged或OnValidation应该是什么?
谢谢.
Validating 在验证过程开始之前触发,这是放置实际验证代码的地方.Validated 在验证过程完成后触发,并根据验证结果设计为某个位置.如果DataSourceUpdateMode.OnPropertyChanged使用那么:
只要控件属性的值发生更改,就会更新数据源.
如果DatasourceUpdateMode.OnValidation使用那么:
验证控件属性时更新数据源.验证后,控件属性中的值也将重新格式化.
如果您只希望将有效(意味着它已经过您的代码验证)数据发送到您自己使用的自定义业务对象DataSourceUpdateMode.OnValidation.
下面是一篇文章,解释如何做到验证的Windows窗体.