繁体   English   中英

进度栏显示红叉

[英]Progressbar showing red cross

我正在使用自定义的ProgressBar-Control ,该控件在Internet上的某个地方找到,它使我能够控制颜色,并且总的来说可以对其进行一些调整。 现在这是第一次失败。 下图是经常设置该值一段时间后看到的图像。 我将其用于启动器,该启动器下载了大量小文件,并且我认为更新ProgressBar的速度过快可能是导致此错误的原因。

有人偶然知道发生了什么吗? 图片

问候

//编辑:我找到了解决方案:由于某种原因,ARGB值为-2.147.483.648。 这个小代码处理这种情况:

if (a > 255) { a = 255; } if (a < 0) { a = 0; }
if (r > 255) { r = 255; } if (r < 0) { r = 0; }
if (g > 255) { g = 255; } if (g < 0) { g = 0; }
if (b > 255) { b = 255; } if (b < 0) { b = 0; }

return (Color.FromArgb(a, r, g, b));

代码在与绘画相关的方法之一(例如customdraw或类似方法)中崩溃。

此处的异常未报告为“未处理”,因为在框架级别有一个有效的try / catch块将吞下它,然后恢复为显示带有大红色叉号的控件。

这规避了Visual Studio的正常“弹出未处理的异常”功能,这就是为什么它只是默默崩溃的原因。

要在调试过程中捕获此异常,请从“调试”菜单中打开“异常”对话框,然后单击“抛出”列中“公共语言运行时异常”的复选框,这将使调试器在引发异常时停止在异常上,而不仅仅是在异常发生时停止没有处理。

当发生GDI +错误时,将显示一个红叉。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM