直接从C#文档中获取:
使用数据绑定时,控件中的数据在执行Validating事件期间与数据源同步。如果取消验证事件,则数据将不会与数据源同步。
我其实在说:
private void textBoxGrainWidth_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
int result;
if(!int.TryParse(textBoxGrainWidth.Text,out result))
{
e.Cancel = true;
return;
}
}
这实际上是通过以下方式调用属性上的设置:
this.textBoxGrainWidth.DataBindings.Add(
new System.Windows.Forms.Binding("Text",
this.bindingSourceControlData, "GrainWidth", true));
所以我在文档上给BS打电话。 This post refers同样的问题,但没有真正的解决方案。
有什么建议吗?不要使用Winforms&装订&同时验证?
答案 0 :(得分:0)
根据我的经验,如果您的来源是int
字段并输入了无效数据,则不会同步。所以,我不知道你this.bindingSourceControlData
的类型是什么,但如果它不是int
,也许应该是。{/ p>