Winforms Message Loop не отзывчивыйC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Winforms Message Loop не отзывчивый

Сообщение Anonymous »

Я преднамеренно злоупотребляю циклом сообщений в приложении Windows Forms, но мой проект «просто для веселья» быстро продвинулся за пределы моего уровня понимания. В то время как задача выполняется, форма не отвечает. Да, есть много других вопросов, подобных этому, но в моем случае я намеренно избегаю работы над другой веткой (чтобы выиграть ставку против себя?) < /P>

У меня есть Функция, которая запускается для (многих) коротких кусочков времени в потоке пользовательского интерфейса: get_iscomplete () проверяет, выполняется ли задача завершена; Dowork () петли от 0 до 1000 (просто чтобы держать процессор в тепле). Задача запускается с вызова control.begininvoke (новое действие (продолжение), Control); после >

Код: Выделить всё

public void ContinueWith(Control control)
{
if (!IsComplete)
{
DoWork();
OnNext(control);
control.BeginInvoke(new Action(ContinueWith), control);
}
else
{
OnCompleted(control);
}
}
Я ожидал, что приложение будет обрабатывать другие события (щелчки мыши, перерисовку элементов управления, перемещение форм и т. д.), но кажется, что мои вызовы получают больший приоритет, чем мне хотелось бы.

Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/678 ... responsive
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»