From c6d439313d06439e7f2bdd74e692ddde685ab256 Mon Sep 17 00:00:00 2001 From: zqm Date: Thu, 6 Nov 2025 11:17:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E5=83=8F=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=97=A0=E6=95=88=E5=BC=82=E5=B8=B8=EF=BC=9A=E5=9C=A8?= =?UTF-8?q?UpdatePictureBoxImage=E6=96=B9=E6=B3=95=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9B=BE=E5=83=8F=E6=9C=89=E6=95=88=E6=80=A7=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=97=A0=E6=95=88=E5=9B=BE?= =?UTF-8?q?=E5=83=8F=E5=AF=BC=E8=87=B4=E7=9A=84System.ArgumentException?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index b0b1813..9372c0a 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -89,11 +89,30 @@ namespace JoyD.Windows.CS // 保存旧图像引用,以便设置新图像后释放 Image oldImage = pictureBoxTemperatureDisplay.Image; - // 设置新图像 - pictureBoxTemperatureDisplay.Image = mRealTimeImage; + // 检查mRealTimeImage是否有效 - 只设置有效的图像 + Image imageToSet = null; + try + { + // 验证图像是否有效(尝试访问图像属性,如果无效会抛出异常) + if (mRealTimeImage != null) + { + // 尝试访问Width属性来验证图像是否有效 + var width = mRealTimeImage.Width; + // 如果没有抛出异常,则图像有效 + imageToSet = mRealTimeImage; + } + } + catch (Exception) + { + // 图像无效,不设置它 + // 可以选择记录日志或创建一个默认的错误图像 + } + + // 设置图像(如果有效) + pictureBoxTemperatureDisplay.Image = imageToSet; // 释放旧图像(如果不是当前设置的图像) - if (oldImage != null && oldImage != mRealTimeImage) + if (oldImage != null && oldImage != imageToSet) { try { oldImage.Dispose(); } catch { } }