将图片框的图像设置为同一图像是否会强制重绘
本文关键字:图像 是否 设置 | 更新日期: 2023-09-27 18:02:31
我有一个后台线程,用于检查硬件设备(相机(的通信状态,并相应地用绿色圆圈或红色X更新表单上的图像。
public bool cameraStatus;
public MainForm()
{
InitializeComponent();
// add the UpdateDisplay function to a dictionary that will be periodically called
updateMethods.Add(new EventHandler(UpdateDisplay));
}
public void UpdateDisplay()
{
if (cameraStatus)
imgCameraStatus.Image = Properties.Resources.camera_good;
else
imgCameraStatus.Image = Properties.Resources.camera_bad;
}
UpdateDisplay
函数经常被调用,大约 50 毫秒。大多数情况下,cameraStatus
不会更改imgCameraStatus.Image
因此一直设置为相同的值。
闪烁,我想知道图像是否每次都会被窗口重新绘制,因为源不会改变。我不确定如何进入 WinForms 绘画周期中的较低级别的绘制函数调用。
查看源代码,设置 Image
属性会调用一个名为 InstallNewImage
的私有方法。此方法将始终调用Invalidate
这将计划重新绘制消息队列中的PictureBox
。