Как и вопрос: что делает Application.DoEvents() при вызове в фоновом потоке?
Чтобы дать некоторый контекст, я рассматриваю довольно сложное решение, написанное (не мной) для .NET CF на C#. Причина, по которой я рассматриваю его, заключается в том, что у него есть некоторые врожденные проблемы, которые меня попросили исследовать.
Один довольно интересный момент заключается в том, что приложение создает длительный фоновый поток при запуске, который входит в цикл времени. Это заканчивается вызовом Application.DoEvents() на каждой итерации цикла.
Я не могу понять, как это повлияет - очищает ли очередь сообщений в основном потоке приложения? Или он сбрасывает очередь сообщений в потоке, в котором он был вызван (даже если фоновый поток не будет иметь очереди для очистки).
Почти наверняка это причина необъяснимого поведения приложения.