簡體   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