我有一个图片框。此图片框用于地图。
地图上有最重要的。例如,显示器。
我从windows用户控件创建了“display”。该用户控件具有“面板,面板上的3个图片框”。
任何用户在屏幕上创建“显示”并将其保存为图片框(地图)的控件。当任何用户保存数据时,它将保存到数据库中。
每一秒,我都会看着图片框(地图),控制它上面的数据以及数据库。如果“显示”改变了它的状态(如显示进入或停止,有种交通标志),那么我找到了已更改的并刷新它。
现在的问题是:如果我删除显示(用户控件)而不是将其再次添加到地图(图片框)控件中,则效果很好。在地图上可以看到更新的“显示”。但是,任何用户都可以看到这个过程,因为显示器在几毫秒内消失,然后像闪烁一样回来。
如何刷新此用户控件而不删除并再次添加进程,是否有方法以某种方式刷新它?
答案 0 :(得分:2)
为了抑制任何闪烁,您可以通过告诉窗口在闪烁生成操作之前暂停父控件绘画来作弊,然后再恢复它。检查this SO question。
我在自定义控件上经常这样做,效果很好。您甚至可以从第一个答案添加“SuspendDrawing”和“ResumeDrawing”静态方法作为Control类的扩展方法。