Mux*_*uxa 5 .net data-binding textbox winforms
我有一个文本框绑定到表单上的对象属性(实际上是几个文本框).这是一个对象的编辑器.当我正在编辑某些对象并修改其中一个文本框中的值时,我无法从文本框中退出(既不是通过选项卡也不是单击另一个文本框).然而情况并非总是如此 - 当编辑其他对象(相同类型)时,它可以正常工作.
这是一个代码snipet:
txtValue.DataBindings.Add("Text", _SourceObject, "PlannedValue", True, DataSourceUpdateMode.OnPropertyChanged, Nothing, "c")
txtEstPlacements.DataBindings.Add("Text", _SourceObject, "EstimatedPlacementCount")
txtReference.DataBindings.Add("Text", _SourceObject, "Reference")
Run Code Online (Sandbox Code Playgroud)
有什么建议?
如果您的表单具有AutoValidate == EnablePreventFocusChange,那么您最终会将焦点停留在未通过验证的任何字段中.
请注意,如果在将值写入对象时发生异常,则认为验证失败.
尝试在属性的setter的入口点设置断点,该入口点绑定到光标卡住的控件.然后,单步查看是否引发异常.
如果断点永远不会触发,则可能在Databinding框架内发生异常.
与普遍认为相反,数据绑定框架会记录错误和其他有用信息 - 它使用System.Diagnostics命名空间的支持来执行此操作.我忘记了细节,但它们在MSDN上 - 您应该能够在应用程序运行时在Visual Studio的消息窗口中查看诊断信息.对于数据绑定的故障排除问题非常有用.
小智 5
为了修复由于无法将数据绑定设置DBNull.Value
到 textbox.text而导致的验证失败,您可以在 Form_Load 部分添加以下行:
TextBox1.DataBindings["Text"].NullValue = string.Empty;
Run Code Online (Sandbox Code Playgroud)
对于您希望允许正确验证空值的每个文本框。
查看有关 Microsoft Connect 的更多详细信息。
并在:
归档时间: |
|
查看次数: |
3797 次 |
最近记录: |