其他分享
首页 > 其他分享> > 数据绑定Winforms文本框

数据绑定Winforms文本框

作者:互联网

简而言之,此数据绑定可以正常工作

tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue");

即,当我输入一个无效值(如空字符串)然后从TB中跳出时,其中的值将恢复为先前的值.这是有道理的,因为输入的值不会进入小数类型的object属性.但是,不幸的是,这些数据绑定之一:

tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue", true, DataSourceUpdateMode.OnPropertyChanged, 0, "C");
tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue", true, DataSourceUpdateMode.OnValidation, 0, "C");

行为不同之处在于,当用户输入空字符串时,输入内容不会让用户在文本框中跳格.有什么方法可以使数据绑定显示为货币,而只是取消所有无效的编辑?

解决方法:

您有两种选择:

>子类化TextBox并覆盖OnValidating事件.如果Text为空,请在调用MyBase.OnValidating()之前退出以取消该事件.
>在TextBox上设置CausesValidation = False,并处理TextChanged事件.如果“文本”不为空,请手动进行验证.

我希望这有帮助.

标签:data-binding,c,net,winforms
来源: https://codeday.me/bug/20191208/2092471.html