这就是我在计时器滴答事件中使用它的方式:
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 那么我只会看到唯一的内存使用中的一行重复它自己。
如果我使用 Environment.NewLine 那么我每次都会看到内存使用情况和 cpu 使用情况下降到一个新行,例如:
内存使用率 --- 3 Cpu 使用率 --- 0.4565 内存使用率 --- 3.6 Cpu 使用率 --- 47
相反,我想查看一行内存使用情况和一行 cpu uage,并一遍又一遍地更新这两行,而不是为它们创建新行。