0

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

地图上有元素。例如,显示器。

我从 Windows 用户控件创建了“显示”。此用户控件有“一个面板,面板上有 3 个图片框”。

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

每一秒,我都会查看图片框(地图),控制其中的数据以及数据库。如果“显示”改变了它的状态(比如显示去或停止,交通标志的种类),那么我找到了改变的状态并刷新它。

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

如何在不删除并再次添加进程的情况下刷新此用户控件,有没有办法以某种方式刷新它?

4

1 回答 1

2

为了抑制任何闪烁,您可以通过告诉 Windows 在您的闪烁生成操作之前暂停父控件绘画并在之后恢复它来作弊。检查这个 SO 问题

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

于 2013-01-03T13:29:35.187 回答