|
58 / 34 / 8
Регистрация: 08.07.2011
Сообщений: 235
|
||||||
Thread.Sleep совместно с BeginInvoke01.08.2017, 11:20. Показов 1963. Ответов 9
Метки нет (Все метки)
Приветствую уважаемые!
Вопрос следующий: имеем данные которые заполняются в потоке, заполнение DataGridView через делегата, чтобы корректно обновлять данные на форме, собственно при этом никаким образом выполнение потока не продолжается, хотя после BeginInvoke пишу Thread.Sleep(1000) как пример. Собственно отрабатывает все, кроме продолжения выполнения потока с периодичностью раз в секунду или не важно.
0
|
||||||
| 01.08.2017, 11:20 | |
|
Ответы с готовыми решениями:
9
ProgressBar и Thread.Sleep
|
|
Администратор
|
|
| 01.08.2017, 12:17 | |
|
KorPaEv, метод OnRefreshGrid продолжает выполнение после Thread.Sleep и завершается. Что означает завершение потока. Так что код работает верно. Кстати такая схема работы - поток который только делает Invoke - не несет никакой пользы потому что вся работа все равно делается в UI потоке.
0
|
|
|
58 / 34 / 8
Регистрация: 08.07.2011
Сообщений: 235
|
|||
| 01.08.2017, 12:27 [ТС] | |||
|
Где можно почитать как правильно обновлять данные грида в потоке с какой то периодичностью по времени? Добавлено через 1 минуту
0
|
|||
|
Администратор
|
|||
| 01.08.2017, 12:37 | |||
|
1
|
|||
|
58 / 34 / 8
Регистрация: 08.07.2011
Сообщений: 235
|
||||||||||||
| 01.08.2017, 14:54 [ТС] | ||||||||||||
|
1 - Каким образом сохранять возможность использовать скролл в гриде не зависимо от обновления грида? 2 - Отсюда же проблема - каким образом сохранить курсор на выбранной строке независимо от процесса обновления грида? Главная форма
0
|
||||||||||||
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 01.08.2017, 16:06 | |
|
KorPaEv, у Вас огромная архитектурная ошибка. Вы пытаетесь в том же методе, что и считает - сразу же обновить контрол. Разделяй и властвуй наше всё. Выносите в отдельный поток расчет отдельной таблицы, которая никак не связана с гридом, а потом просто подмените одну на вторую в UI потоке, и грид сам поменяется, это мгновенная операция, а у Вас всё слишком мудрёно получилось.
1
|
|
|
|
|
| 01.08.2017, 16:28 | |
|
KorPaEv, от того, что вы запустили поток, потом из потока запустили синхронно с UI обновление грида, это обновление не будет магическим образом выполняться в потоке, а будет вешать UI программы.
DoEvents - признак говнокода.
1
|
|
|
58 / 34 / 8
Регистрация: 08.07.2011
Сообщений: 235
|
||||||||||||
| 02.08.2017, 05:58 [ТС] | ||||||||||||
0
|
||||||||||||
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 02.08.2017, 06:46 | |
|
А я бы не морочился со thread-ами, а оформил бы таску, которая вернет табличку.
1
|
|
| 02.08.2017, 06:46 | |
|
Помогаю со студенческими работами здесь
10
Как остановить thread.Sleep по клику Thread.Sleep только для одной формы Thread.Sleep(): не видны визуальные изменения на форме между слипами System.Threading.Thread.Sleep запускается не там, где прописан Thread.Sleep в главном потоке или как сделать нормальную задержку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|