首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认情况下,当我将数据绑定到windows窗体控件时会发生什么情况。

问默认情况下,当我将数据绑定到windows窗体控件时会发生什么情况。
EN

Stack Overflow用户
提问于 2012-11-21 22:58:44
回答 1查看 135关注 0票数 3

因此,我被要求修复一个已经存在了一段时间的旧windows窗体实用程序的问题(至少在我的任何同事出现之前)。该窗体有一个数据绑定的numericUpDown控件。问题是,当您单击向上或向下箭头时,值将更改并保存OK。但是,如果您只是键入一个数字,然后单击保存,它将不会保存。就像数据绑定从来没有看到变化一样,所以我从WPF背景中猜到了更改以下内容

代码语言:javascript
复制
TaskDaysToComplete.DataBindings.Add("Value", taskTemplate, "DaysToComplete");

到这个

代码语言:javascript
复制
TaskDaysToComplete.DataBindings.Add("Value", taskTemplate, "DaysToComplete", false, DataSourceUpdateMode.OnPropertyChanged);

就能解决我的问题,而且它确实做到了。现在,您可以键入一个数字或使用控件上的向上/向下箭头来设置"Value“属性。

我的问题是,首先发生了什么?我猜默认的DataSourceUpdateMode是OnValidation,但什么时候会发生这种情况,为什么在使用向上/向下箭头时可以,但在键入内容时似乎从来没有发生过。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-26 17:30:04

numericUD validation

验证是在失去焦点时完成的,因此当您按up/down键时,文本框失去焦点-触发验证例程。

在编辑文本时,您可以通过单击另一个控件使该控件失去焦点,这将导致该控件生效。

默认值设置为onValidate的原因是,值更改时将导致它对键入的每个字符进行验证,这对于性能和正确的验证都可能是有问题的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13495971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档