Как предотвратить зависание процессора или замедление работы графического интерфейса в .NET - PullRequest
0 голосов
/ 23 ноября 2010

Я делаю приложение, которое включает чтение файлов изображений и отображение их в пользовательском элементе управления, разработанном мной.Эта или другая интенсивная загрузка ЦП приводит к сбоям в работе графического интерфейса и / или приводит к зависанию.

Я вполне осознаю, что я должен поместить эти ресурсоемкие операции в другой поток, но пока ненашел статью или пример проекта, который дал бы мне четкое руководство по решению этих проблем.

Может кто-нибудь указать мне место (места), где я могу найти эту информацию?

Заранее спасибо.

MTH

Ответы [ 3 ]

4 голосов
/ 23 ноября 2010

Background Worker - хороший выбор для адаптивного графического интерфейса.

1- Фоновый работник - это класс, основанный на событиях.

2 - Вызывает такие события, как ProgressReport, DoWork, WokerCompleted.

3 - Вам просто нужно подключить эти события, и вы готовы идти.

4 - Он очень прост в использовании и обновлен, если вы только начали использовать концепции потоков.

4 голосов
/ 23 ноября 2010

Взгляните на класс Background Worker .

В приведенной ссылке есть пример, показывающий, как его использовать, а также:)

1 голос
/ 23 ноября 2010

Ян Гриффитс написал отличный ответ на ваш вопрос для предыдущей версии .NET, в которой не было BackgroundWorker .Прочитав это эссе, вы должны перейти к этому эссе, выполняя фоновую работу и используя BackgroundWorker .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...