StatusStrip导致backgroundflickering

时间:2010-12-13 10:07:07

标签: c# events

我有一个主窗体,底部有一个StatusStrip。 在此条带中,我显示一个标签,其中包含有关上一次操作的信息 这是这样做的:

在Form构造函数中:

console.added += new EventHandler<Eventargs>(showlast);

console.added是一个自定义事件,每次将某些内容添加到控制台列表时都会执行该事件。 接下来是事件功能:

private void showlast(object sender, EventArgs e)
{
  statusStripLabel1.Text = console.clist.Last().ToString().Replace('\t','');
}

而clist是包含我的控制台条目的静态类控制台的监听器。

现在会发生这样的事情:如果我在mainform上显示包含代码的其他表单,每次控制台更新时都会向控制台添加条目,后台的主窗体会闪烁一次 - 就像它再次加载一样。由于主窗体是全屏的,而且大多数其他形式都是工具窗口,因此无法监督:)

在条带更新时,您知道是否有任何方法可能无法加载整个表单? (如果是这个原因?)。其他明智的我只需要移除条带 - 但当然我想保留它:)

提前感谢您的回答!!

1 个答案:

答案 0 :(得分:0)

您可以尝试一些事项:

1)在DoubleBuffered = 'True'上设置Form

2)在设置statusStripLabel1.Text之前,请检查现有文本是否不相同。