これは、タイマーティックイベントでそれを使用する方法です:
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 行を何度も更新し、それらのために新しい行を作成しないようにしたいと考えています。