2013-06-26 6 views
0

Я использую 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)); 
+1

Можете ли вы запустить его под отладчиком с включенными исключениями-break-on-all-exceptions? (См. «Отладка | Исключения». Исключения для обычного языка Runtime -> выберите «[x] Thrown») –

+0

Инициализация получила некоторые ошибки, проверьте это.? – JSJ

ответ

0

код разбился в одном из методов рисования, связанные, как customdraw или что-то подобное.

Исключения здесь не сообщаются как «необработанные», так как есть блок try/catch, который будет проглатывать его на уровне фрейма, который затем возвращается к отображению элемента управления с этим большим красным крестом впоследствии.

Это обходит обычную функциональность Visual Studio, появившуюся на необработанном исключении, поэтому она просто терпит крах.

Чтобы устранить это исключение во время отладки, откройте диалоговое окно «Исключения» из меню «Отладка» и установите флажок в столбце «Бросок» для «Исключения общего времени выполнения языка», это заставит отладчик останавливаться на этом исключении при его броске, не только тогда, когда он не обрабатывается.

+0

Спасибо за вашу быструю помощь, я получил ее работу! По некоторым причинам значения ARGB в строке 321 были -2,144,483,648. Теперь я просто проверяю, действительно ли это так, и меняя это. – user2523584

0

При возникновении ошибки GDI + отображается красный крест.