Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538

Выполнение кода в отдельном потоке

27.08.2013, 15:54. Показов 3198. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак есть форма. На ней кнопочка. Под кнопочкой трудоемкий алгоритм. Я хочу чтобы при нажатии на кнопочку запускался алгоритм в не главном потоке, при этом сделать кнопочку неактивной до тех пор, пока алгоритм не отработает до конца. Ну и при этом естественно форма должна быть активной, а не "висеть". Подскажите как это делается по пацански?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.08.2013, 15:54
Ответы с готовыми решениями:

Выполнение действия в отдельном потоке
Привет! Вообщем, со своими лоу знаниями в C#, я столкнулся с проблемой во время написания программы. Я выполнил свой метод (который...

Выполнение метода в отдельном потоке
Необходимо выполнить метод Search (или всю операцию message = client.Folders.Search("ALL", MessageFetchMode.Basic); неважно) в отдельном...

Выполнение определенных операций в отдельном потоке
Во время выполнения кода форма, ясное дело, зависает и ожидает завершения операций. Мне необходимо сделать так, чтобы с формой можно было...

3
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
27.08.2013, 18:17
Thread, Task
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
28.08.2013, 08:44  [ТС]
Воспользовался этим:
http://andsemenoff.narod.ru/pr... page1.html
0
 Аватар для Dexa
79 / 79 / 11
Регистрация: 29.08.2013
Сообщений: 263
03.09.2013, 09:24
по пацански в многопоточных приложениях следует определить связан ли вызывающий поток с данным объектом и если да то можно смело воротить что угодно,в противном случае для доступа к объекту из другого потока надо юзати инвойк,для wpf как-то так
C#
1
2
3
4
5
6
7
8
9
10
11
private void knopka_klick(objekt sender , events e)
{
if(Dispatcher.CheckAccess())
{
//выполняем код
}
else
{
Dispatcher.BeginInvoke(new ObjectHandler(knopka_klick),new object[]{sender,e});
}
}
Примерно так,но может что и упустил,хотя сам бигининвойк может быть уневерсальным по ситуации.
Если есть не точности то извеняй,я сейчас на работе с телефона,а он у меня ни то что не знает про IntelliSense , он даже код не подсвечивает.

Добавлено через 4 минуты
к стати Dispatcher.CheckAccess() в IntelliSense нет, но когда это Dispatcher.CheckAccess() дописать ручками то студия не матюкается,все компилируется и работает на ура.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.09.2013, 09:24
Помогаю со студенческими работами здесь

Выполнение определенных операций в отдельном потоке
Здравствуйте, только начал писать на c# wpf . Затруднялся с пониманием асинхроные потоки. Суть вопроса: по клику на кнопку происходит вызов...

ICollectionView в отдельном потоке
Добрый вечер!) Ребят объясните мне как правильно работать с потоками в WPF. Вот смотрите есть у меня Datagrid который прибинден к...

Окно в отдельном потоке
Привет, вопрос заключается в том как поступить. У меня есть редактор карт для своего приложения. Он должен создавать Grid определенных...

Работа ProgressBar в отдельном потоке
Привет. Подскажите, как заполнять и обновлять progressBar в отдельном потоке в процессе вычислений? У меня вычисления происходят в...

Изменение свойств WPF в отдельном потоке
Здравствуйте, в университете прохожу курс системное программирование, задача заключается в создании тредах, первый для обработки файла и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru