Windows窗体中的用户控件刷新

时间:2013-01-03 12:21:51

标签: c# controls refresh

我有一个图片框。此图片框用于地图。

地图上有最重要的。例如,显示器。

我从windows用户控件创建了“display”。该用户控件具有“面板,面板上的3个图片框”。

任何用户在屏幕上创建“显示”并将其保存为图片框(地图)的控件。当任何用户保存数据时,它将保存到数据库中。

每一秒,我都会看着图片框(地图),控制它上面的数据以及数据库。如果“显示”改变了它的状态(如显示进入或停止,有种交通标志),那么我找到了已更改的并刷新它。

现在的问题是:如果我删除显示(用户控件)而不是将其再次添加到地图(图片框)控件中,则效果很好。在地图上可以看到更新的“显示”。但是,任何用户都可以看到这个过程,因为显示器在几毫秒内消失,然后像闪烁一样回来。

如何刷新此用户控件而不删除并再次添加进程,是否有方法以某种方式刷新它?

1 个答案:

答案 0 :(得分:2)

为了抑制任何闪烁,您可以通过告诉窗口在闪烁生成操作之前暂停父控件绘画来作弊,然后再恢复它。检查this SO question

我在自定义控件上经常这样做,效果很好。您甚至可以从第一个答案添加“SuspendDrawing”和“ResumeDrawing”静态方法作为Control类的扩展方法。