我有一个主窗体,它的底部有一个StatusStrip。在此条形图中,我显示了一个标签,其中包含有关最后一次操作的信息。这是这样做的:
在表单构造函数中:
console.added += new EventHandler<Eventargs>(showlast);console.added是一个自定义事件,每次向控制台列表添加内容时都会执行。接下来是eventfunction:
private void showlast(object sender, EventArgs e)
{
statusStripLabel1.Text = console.clist.Last().ToString().Replace('\t','');
}而clist是包含我的控制台条目的静态类console的listelement。
现在发生的事情是这样的:如果我在mainform上显示一个包含代码的另一个窗体,它会在每次控制台更新时向控制台添加条目,后台的main窗体会闪烁一次-就像它再次加载一样。由于主窗体是全屏的,而大多数其他窗体都是相当于工具窗口的,这是无法监督的:)
你知道有什么方法可以在条带更新时不加载整个表单吗?(如果这就是原因?)。否则,我只需要去掉它--但我当然想保留它:)
感谢您提前回答!!
发布于 2010-12-13 18:14:14
您可以尝试以下几种方法:
1)在Form上设置DoubleBuffered = 'True'。
2)设置statusStripLabel1.Text前,检查已有文本是否不一致。
https://stackoverflow.com/questions/4427703
复制相似问题