0

このコードの最後の行は、変数「温度」と「umidita」が関連するテキスト ボックスに表示されるたびに、datagridview の 3 列の行を埋めることになっています。

これらのデータはシリアル ポートから取得され、x 秒ごとに更新されます。

private void SetText(string text)
    {
        string temperatura;
        string umidita;

        if (this.txtOutput.InvokeRequired)
        {
            SetTextCallback d = new SetTextCallback(SetText);
            this.BeginInvoke(d, new object[] { text });
        }

        else
        {

            string f = text;
            char firstChar = f[0];

            if (firstChar == 'T')
            {
                temperatura = f;
                temperatura = f.Replace("T", "");
                textBox1.Text = temperatura;
            }

            else if (firstChar == 'U')
            {
                umidita = f;
                umidita = f.Replace("U", "");
                textBox2.Text = umidita;
            }
            dataGridView1.Rows.Add(new string[] { DateTime.Now.ToString("HH:mm:ss"), textBox1.Text, textBox2.Text });
        }
    }

コードは機能していますが、一度に 3 行に同じデータが入力されます。

ここに画像の説明を入力

私は datagridview に精通しておらず、なぜこのような動作をするのか理解できません。「temperatura」と「umidita」という時間で1行ずつ入力するには、何を変更する必要がありますか?

4

1 に答える 1