0

これは、タイマーティックイベントでそれを使用する方法です:

private void timer1_Tick(object sender, EventArgs e)
        {
            memUsage = theMemCounter.NextValue();
            label1.Text = memUsage.ToString();
            Logger.Write("Memory Usage   " + memUsage.ToString());
            AppendText(richTextBox1, "Memory Usage   " + memUsage.ToString() + Environment.NewLine, Color.Red);
            cpuUsage = this.theCPUCounter.NextValue();
            label2.Text = cpuUsage.ToString();
            Logger.Write("Cpu Usage   " + this.cpuUsage.ToString());
            AppendText(richTextBox1, "Cpu Usage   " + cpuUsage.ToString() + Environment.NewLine, Color.Blue);
            Values.Add(cpuUsage);
            isProcessRunning();
            if (alreadyRun == true)
            {
                processValues.Add(cpuUsage);
            }

        }

これは AppendText 関数です。

public  void AppendText( RichTextBox box, string text, Color color)
        {
            box.SelectionStart = box.TextLength;
            box.SelectionLength = 0;

            box.SelectionColor = color;
            box.AppendText(text);
            box.SelectionColor = box.ForeColor;
        } 

タイマーの目盛りで Environment.NewLine を使用しない場合、メモリ使用量が 1 行だけ繰り返されているのが 1 つだけ表示されます。

Environment.NewLine を使用している場合、メモリ使用量と CPU 使用量が毎回新しい行に表示されます。たとえば、次のようになります。

メモリ使用量 --- 3 CPU 使用量 --- 0.4565 メモリ使用量 --- 3.6 CPU 使用量 --- 47

代わりに、メモリ使用量の 1 行と CPU 使用量の 1 行を確認し、この 2 行を何度も更新し、それらのために新しい行を作成しないようにしたいと考えています。

4

1 に答える 1

0

2 行だけを更新したい場合は、次の手順を試してください。

private void timer1_Tick(object sender, EventArgs e)
{
    richTextBox1.Text = "";
    // Add the rest of the code here
}

そうすれば、2 行 (メモリと CPU の使用量) が表示され、ティックの後にテキストがクリアされ、それらの 2 行が設定されます。これは、更新されているかのように表示されます。

お役に立てれば!

于 2012-09-01T23:22:56.543 に答える