gpt4 book ai didi

c# - DataBinding 和 ErrorProvider - 如何提供自定义错误消息?

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:07 25 4
gpt4 key购买 nike

我们使用 BusinessObjects,实现 IDataErrorInfoIEditableObject。带有这些对象的 BindingList 被添加到 BindingSources,它们用于绑定(bind)窗体 (WinForms) 上的 UserControls 和 DataGrids。 BindingSource 被另外设置为表单的 ErrorProvider 的 DataSource。

我们目前使用 TextBoxes 作为 int 和 short 类型的属性。它们在 BusinessObjects 中使用自定义验证(如最小值/最大值等)进行验证。这很好用,因为我们的自定义验证的错误消息很好地显示在文本框旁边。

但是,如果输入大于 int 的值(例如“9999999999”),BindingSource 甚至不会尝试将该值输入到 BusinesObject 中,而是将错误消息提供给错误提供者,例如“Int32 的值太大了。”。我们不想用“Int32”来打扰我们的用户,但想要一个自定义的错误消息。

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

最佳答案

你需要设置FormattingEnabled属性设置为 false 以禁用错误处理行为。

像这样:

textBox1.DataBindings.Add("Text", bindingSource1, "IntValue", false, 
System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);

关于c# - DataBinding 和 ErrorProvider - 如何提供自定义错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com