У него есть Application.Doevents, замусоренные повсюду, что хорошо, за исключением случаев, когда я вхожу в отладчик.
Нет, это не хорошо. Не с подключенным отладчиком, а не без подключенным отладчиком.Решение, которое вы предложили, является неправильным.Вам необходимо полностью устранить его, а не просто скрыть его в режиме отладки, когда вы, скорее всего, заметите возникающие ошибки и побочные эффекты.
Выполните глобальный поиск, замену и комментированиекаждая строка, где эта функция вызывается.Затем отладьте полученный код, чтобы выяснить, где он ломается и что нужно сделать, чтобы его исправить.
Подсказка : не выполняйте длительные или ресурсоемкие задачи в пользовательском интерфейсенить.Для этого раскрути отдельную ветку.Компонент BackgroundWorker
- это чрезвычайно удобный способ сделать это, удобный даже для тех, кому еще не комфортно работать с несколькими потоками.
Application.DoEvents
- ошибка, ожидающая появления.Не позволяйте этому кусать вас.Расстраивающее поведение, которое вы видите в отладчике, это точно то же самое, что происходит все время внутри кода вашего приложения.И что бы вы ни делали , не отправляйте код, содержащий вызовы Application.DoEvents
, которые вы не тщательно отладили.