Windows窗体中的用户控件刷新

本文关键字:控件 刷新 用户 窗体 Windows | 更新日期: 2023-09-27 17:50:27

我有一个图片框。这个画框是用来画地图的。

Map上有一个元素。例如,显示。

我从windows用户控件中创建了"display"。这个用户控件有"一个面板,面板上有3个图片框"。

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

在每一秒钟,我看着图片框(地图),控制它和数据库上的数据。如果"显示"改变了它的状态(比如显示"走"或"停",类似于交通标志),那么我就会找到改变的状态并刷新它。

现在的问题是:如果我删除显示(用户控件),而不是再次添加到map的(picturebox)控件,它工作得很好。更新后的"显示"可以在地图上看到。然而,任何用户都可以看到这个过程,因为显示会消失几毫秒,然后像闪烁一样回来。

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

Windows窗体中的用户控件刷新

要抑制任何闪烁,您可以通过告诉窗口在闪烁生成操作之前暂停父控件绘制,然后恢复它来欺骗。看看这个SO问题。

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