代码之家  ›  专栏  ›  技术社区  ›  Steve

Bindingsource发现的错误阻止窗体关闭

  •  0
  • Steve  · 技术社区  · 15 年前

    这是一个WinFormC问题。

    在窗体上,Age属性绑定到文本框时使用:

    var binding = tbAge.DataBindings.Add("Text", person, "Age", true, DataSourceUpdateMode.OnValidation);
    

    为了发现错误,我创建了一个BindingComplete事件监听器,并根据bindingCompleteTate.Success测试bindingCompleteTate,并向用户显示必要的错误消息。

    这就是所有的背景。现在,如果我在textbox上设置一个负值,并直接单击表单右上角的X按钮来关闭它,则会显示预期的错误消息,但表单没有关闭。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Steve    15 年前

    尽管我仍然不知道为什么表单不能关闭,但我想这与我从数据对象抛出的异常和表单的一些验证有关(如果我错了,请纠正我。)

    禁用窗体的自动验证不是解决方案。从那时起,我的错误信息将不会显示。

    使用IDataErrorInfo的关键是现在我可以毫无问题地关闭表单。我仍然不知道为什么,但是如果没有从数据对象抛出异常,表单可以正确地关闭自己。让我知道是什么原因,以防止形式关闭在我的问题。

    推荐文章