C# Windows 表单数据绑定

C# Windows Forms Data Binding

我在 Windows 表单中使用 Visual c#,但我遇到了困难。

myTxtBx.DataBindings.Add(new Binding("Text", myBindingSource, "Name", true, DataSourceUpdateMode.OnPropertyChanged, string.Empty));

我的问题是 myTxtBx 根本没有收到任何更新;我实际上将它更改为文本框,因为它也不能与标签一起使用。

在代码中,我为 myTxtBx 分配了一个值,因为在这种情况下必须这样做。

我需要一种方法让绑定从文本框中获取值,尽管根本没有更新。

我已经尝试将它更改为 DataSourceUpdateMode.OnValidation 并强制它在执行数据库操作之前进行验证,但 DataBindings 仍然没有取值。 我也试过使用 WriteValue() 但似乎也没有用..

如有任何建议,我们将不胜感激!

在样本上检查了您的问题。 我有 Form 和两个 TextBox,绑定看起来像:

this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "Text", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.textBox2.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "Text", true));

绑定源 this.bindingSource1System.Windows.Forms.BindingSource 的类型

这里是设置绑定源数据的代码:

_bindedObject = new DataObject{ Text = "Initialized value"};
bindingSource1.DataSource = _bindedObject;

一个 _bindedObject 很简单 class 和 属性 文本:

[Serializable]
public class DataObject
{
    public string Text { get; set; } 
}

textBox1 不断更新包含文本的每次更改的数据,并且 textBox2 正在刷新。 textBox2 正在失去焦点(导致验证)或调用 bindingSource1.EndEdit(); 时更新数据。