私は 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」の実際の DataSource に新しいプロパティ値が含まれているのを見ましたが、ラベルには何も表示されません...
これを行うための本当に簡単な方法はありますか?
バックラウンドは次のとおりです。定期的に、RS232 を介してセンサー データのポーリングが行われます。1 つのセンサーの値が変化した場合、これをラベルまたはテキスト ボックスに表示したいと考えています。これで、バックラウンド スレッド タイマーは、GUI スレッドにアクセスするために呼び出しやその他の処理が必要になります。これはデータバインディングで簡単になると思っていましたが、そうではないようです:P
皆さん、素晴らしいサイト、素晴らしい仕事に感謝します! :)