私のプログラムはシリアル ポートでデータを受信しており、それ (データ) をラベル コントロールで表示したいと考えています。受信データは連続して更新されています。
ラベルの値をすぐに更新するにはどうすればよいですか?
私のプログラムはシリアル ポートでデータを受信しており、それ (データ) をラベル コントロールで表示したいと考えています。受信データは連続して更新されています。
ラベルの値をすぐに更新するにはどうすればよいですか?
あなたがしなければならないことは次のとおりです。
最初:新しいスレッドで関数を呼び出します:
Thread t = new Thread(new ThreadStart(yourfunction));
t.Start();
2番目: フォームからラベルを呼び出す必要があります:
void yourfunction()
{
while (..) // I think you have a loop in your function
{
if (this.label1.InvokeRequired)
{
this.Invoke(
new changeLabelDelegateMethod(changeLabelText), label1, "your text");
}
else
label1.Text = "your text";
}
}
delegate void changeLabelDelegateMethod(Label l, string text);
void changeLabelText(Label l, string text)
{
l.Text = text;
}