Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新失去焦点时的数据绑定_C#_Winforms_Data Binding - Fatal编程技术网

C# 更新失去焦点时的数据绑定

C# 更新失去焦点时的数据绑定,c#,winforms,data-binding,C#,Winforms,Data Binding,我已经看到WPF有一个属性,允许在控件失去焦点后进行数据绑定,winforms有类似的功能吗 我遇到了一个问题,当更新一个数据绑定值时,整个源被更改,而不是单个属性 这给我带来了一个问题,因为我有一个复选框,当更改选中状态时,会更新另一个具有来自同一数据绑定源的数据绑定的源,这使得我的复选框永远不会更改值(或者说它会将其更改回来) 我已经创建了一个示例来演示这一点。(带有复选框和文本框的基本表单) 或者,是否有其他方法来处理我的数据绑定,只更改数据绑定属性值而不更改源?最后,我不得不使用Chec

我已经看到WPF有一个属性,允许在控件失去焦点后进行数据绑定,winforms有类似的功能吗

我遇到了一个问题,当更新一个数据绑定值时,整个源被更改,而不是单个属性

这给我带来了一个问题,因为我有一个
复选框
,当更改选中状态时,会更新另一个具有来自同一数据绑定源的数据绑定的源,这使得我的复选框永远不会更改值(或者说它会将其更改回来)

我已经创建了一个示例来演示这一点。(带有复选框和文本框的基本表单)


或者,是否有其他方法来处理我的数据绑定,只更改数据绑定属性值而不更改源?

最后,我不得不使用
CheckedChanged
事件手动更新数据绑定

例如,使用我的示例程序的源代码

checkBox1.CheckedChanged += (s, e) => { 
  dc.BooleanVal = ((CheckBox)s).checked;
  customControl1.Text = "3"; 
  label1.Text = dc.BooleanVal.ToString(); };

我不太明白你想要什么。数据绑定应该在控件和源之间绑定数据。是否要在不更改源的情况下更改控件中的某些值?一些具体的例子就好了。@King,链接提供了一个完整的例子。在本例中,在第8行,您可以看到它调用了“Text”(文本被覆盖),这最终会更改textbox的数据绑定值,从而将复选框重置为源值,因此不允许复选框具有不同的值value@sayse与WPF相比,winforms的数据绑定是可笑的。我认为,如果不对文本框或类似的东西进行子类化,您将无法实现这一点。@highcore-我很害怕。。我在想我需要将复选框绑定源移到别处..请参阅和