显示红十字的进度条

时间:2013-06-26 10:12:03

标签: c# progress-bar

我正在使用custom ProgressBar-Control我在互联网上的某个地方找到了它,这使我能够控制颜色,并且所有调整都会稍微调整一下。现在它第一次失败了。下面的图片是我经常设置一段时间后看到的内容。我正在使用它来启动下载大量小文件的启动器,我认为更快地更新ProgressBar可能是导致此错误的原因。

有没有人知道,究竟发生了什么? Image

问候

//编辑:我找到了解决方案:由于某种原因,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));

2 个答案:

答案 0 :(得分:0)

代码在一个与paint相关的方法中崩溃,比如customdraw或类似的东西。

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

这绕过了Visual Studio中正常的“弹出未处理异常”功能,这就是为什么它只是静默崩溃。

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

答案 1 :(得分:0)

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