我读了一些关于 DataBinding 的东西,主要是复杂的东西,比如 SQL 或任何 XAML 之类的东西。我想要我的程序做的就是,如果变量的“值”发生变化,只需将其写入文本框或标签。(使用 Windows 窗体)
到目前为止我所拥有的:
namespace DataBinding_Test
{
public partial class Form1 : Form
{
BindingSource bs = new BindingSource();
Class1 test = new Class1();
public Form1()
{
InitializeComponent();
test.name = "Hello";
bs.DataSource = test;
label1.DataBindings.Add(new Binding("Text", bs, "name", false, DataSourceUpdateMode.OnPropertyChanged));
}
private void button1_Click(object sender, EventArgs e)
{
test.name = textBox1.Text;
}
}
}
Class1 只是有一个公共属性名称。在启动 lable1 将显示我的“Hello”字符串。然后在按钮上单击名称属性将更改。在调试时我看到“bs”的实际数据源包含新的属性值,但标签不会显示任何东西......
有没有真正简单的方法来做到这一点?
背景是:定期通过 RS232 轮询传感器数据。如果一个传感器的值发生变化,我想在标签或文本框中显示它。现在后台线程计时器将需要调用和东西来访问 GUI 线程;认为使用数据绑定会更容易,但似乎不是:P
谢谢大家,伟大的网站,伟大的工作!:)