C# Linq、错误提供程序、数据绑定:自定义错误消息

C# Linq、错误提供程序、数据绑定:自定义错误消息,c#,linq,linq-to-sql,data-binding,error-handling,C#,Linq,Linq To Sql,Data Binding,Error Handling,我们正在开发一个C#Windows窗体应用程序,使用LINQtoSQL、数据绑定和错误提供程序对象 数据绑定会在您尝试输入不允许的数据(例如在数字字段中输入字母数字字符)时立即显示自动生成的消息。但是生成的消息不是很友好(输入字符串格式不正确,值无效,值不是从pos 0开始的日期时间,等等) 你认为处理这个问题的最好方法是什么?通过将DataInded控件上的“FormattingEnabled”设置为false关闭自动验证,这意味着您必须自己处理所有验证?或者扩展对象以覆盖消息,例如扩展/覆盖

我们正在开发一个C#Windows窗体应用程序,使用LINQtoSQL、数据绑定和错误提供程序对象

数据绑定会在您尝试输入不允许的数据(例如在数字字段中输入字母数字字符)时立即显示自动生成的消息。但是生成的消息不是很友好(输入字符串格式不正确,值无效,值不是从pos 0开始的日期时间,等等)


你认为处理这个问题的最好方法是什么?通过将DataInded控件上的“FormattingEnabled”设置为false关闭自动验证,这意味着您必须自己处理所有验证?或者扩展对象以覆盖消息,例如扩展/覆盖TypeConverter?制作执行基本验证的自定义控件(如创建只允许整数、货币值等的文本框)

如果是我,我会将文本框内容限制为只允许int,等等

或添加messageBox。显示文本框的值是否为null


您需要一个如何实现这一点的示例吗?

我最终做的是定制输入控件,它:

  • 限制输入
  • 重写OnValidation而不调用base.OnValidation
  • 创建自己的ErrorProvider,如果需要,它将显示自定义错误消息