我们使用BusinessObject,实施 IDataErrorInfoIEditableObject. BindingList与这些对象的s添加到bindingsources中,这些对象用于绑定表单上的usercontrols和datagrids(winforms)。这 BindingSource 还将其设置为数据源 ErrorProvider 形式。

我们确实将当前文本框用于INT类型和简短的属性。它们在BusinessObject中具有自定义验证(例如Min/Max值等)的验证。

但是,如果输入大于int的值(例如“ 9999999999”),则bindingsource甚至不会尝试将该值输入busineSobject,而是将errormessage输入到errormessage上,例如诸如int32的值太大的值。”。我们不想用“ INT32”打扰用户,但希望为此进行自定义错误。

很好,BindingSource确实提供了此功能,但是是否可以为此提供自定义错误消息?

有帮助吗?

解决方案

您需要设置 格式化 属性为假到禁用错误处理行为。

像这样:

textBox1.DataBindings.Add("Text", bindingSource1, "IntValue", false, 
    System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top