2011-08-23 84 views
2

我们正在开发使用LINQ-to-sql,数据绑定和Error提供程序对象的C#Windows窗体应用程序。Linq,错误提供程序,数据绑定:自定义错误消息

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

您认为最好的处理方法是什么?通过在数据绑定控件上将“FormattingEnabled”设置为false来关闭自动验证,这意味着您必须自己处理所有验证?或者可能扩展对象以覆盖消息,例如扩展/重写TypeConverter?进行基本验证的自定义控件(如创建一个只允许整数,金钱价值等的文本框)?

回答

1

我最终没有做是其自定义输入控件:

  • 限制输入
  • 覆盖OnValidation无需调用base.OnValidation
  • 创建自己的ErrorProvider控件如果需要的话,显示自定义错误消息。
1

如果是我,我将文本框的内容限制为仅允许INT,等等

或者添加messageBox.Show如果值是空的文本框中。

你需要一个如何做到这一点的例子吗?