直接取自 C# 文档:
使用数据绑定时,控件中的数据会在执行 Validating 事件期间与数据源同步。如果取消 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。这篇文章提到了同样的问题,但没有真正的解决方案。
有什么建议吗?不要同时使用 Winforms & Binding & Validation?