174 / 73 / 30
Регистрация: 20.11.2013
Сообщений: 358
|
||||||
1 | ||||||
ProgressBar не заполняется20.02.2014, 15:35. Показов 1588. Ответов 3
Метки нет (Все метки)
На форме имеем: кнопку, заполненный Items элемент CheckedListBox и progressBar, который должен отобразить процесс работы блока программы при пробегании по каждому Item элемента CheckedListBox. Т.к. выделенные элементы в CheckedListBox имеют конечное число, то логично отобразить процесс работы через progressBar поэлементно.
При нажатии на кнопку хотелось чтобы происходило: 1. progressBar.Visible = true; 2. при окончании расчета по i элементу progressBar переотобразился 3. по окончании роботы цикла по элементам CheckedListBox, progressBar.Visible = false; Что сделано:
Причем при первом запуске все прорисовывается замечательно, а при повторном на середине застревает и дорисовывается по окончанию процедуры...
0
|
20.02.2014, 15:35 | |
Ответы с готовыми решениями:
3
Не заполняется ProgressBar ProgressBar не заполняется ProgressBar заполняется наполовину Не заполняется полностью progressbar |
Си-решеточник
140 / 134 / 60
Регистрация: 07.02.2011
Сообщений: 669
|
|
20.02.2014, 18:35 | 2 |
По первых - если процедура запускается несколько раз, то нужно перед началом в PB выставлять Value на 0.
Во вторых - конечно же будут проблемы с прорисовкой, так как обычно никто не выполняет в основном потоке сложных и длительных вычислений. Для этого создается дополнительный поток, а результат выполнения передается ProgressBar посредством Invoke. Хотя бы Application.DoEvents() выполнял после каждой итерации.
0
|
174 / 73 / 30
Регистрация: 20.11.2013
Сообщений: 358
|
|
21.02.2014, 08:04 [ТС] | 3 |
и Value установил и Application.DoEvents() поставил, разницы ни какой...
Если с потоками проблема проблема, то почему тогда при первом проходе перерисовка происходит правильно, а при последующих тормозит???
0
|
Си-решеточник
140 / 134 / 60
Регистрация: 07.02.2011
Сообщений: 669
|
|
21.02.2014, 13:52 | 4 |
А это как-то странно... Скинул бы весь проект - я б посмотрел.
Черт его знает - сложно предсказать поведение GUI, если с его прорисовкой в потоке происходит что-то ресурсоёмкое.
0
|
21.02.2014, 13:52 | |
21.02.2014, 13:52 | |
Помогаю со студенческими работами здесь
4
ProgressBar не заполняется до конца Почему ProgressBar заполняется не полностью? ProgressBar начинает заполняется до начала компиляции Таблица заполняется на одних компьютерах и не заполняется на других Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |