-3

私のプログラムはシリアル ポートでデータを受信して​​おり、それ (データ) をラベル コントロールで表示したいと考えています。受信データは連続して更新されています。

ラベルの値をすぐに更新するにはどうすればよいですか?

4

1 に答える 1

0

あなたがしなければならないことは次のとおりです。

最初:新しいスレッドで関数を呼び出します:

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;
}
于 2012-09-16T11:57:13.067 に答える