|
ProgressBar
|
|||
---|---|---|---|
#18+
Добрый день. Есть главная форма frmMain, есть компонент frmProgressBarControl и форма frmProgressBar куда вставлен контрол На главной форме рисуем кнопку которая запускает Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
вот код контрола Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
проблема в том что, когда запускается прогресс и если перейти в другое окно, браузер, Word и т.д., то пока цикл не закончит работать фокус ни на главную форму ни на прогресс не получить. Даже если сделать отдельным потоком, все равно максимум чего добьемся - возможность перейти на главную форму а на прогресс уже не перейти, хотя бы для того чтобы увидеть сколько осталось. Как сделать прогресс видимым? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2013, 21:35 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
maximIZ, Application.DoEvents() пробовали (после progress.FrmProgressControl.PerformStep(i))? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 06:36 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
LameUser, нет и еще раз нет! Код: c# 1.
. Таких уже тут тем 10 точно было... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 12:51 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
netivanLameUser, нет и еще раз нет! Код: c# 1.
. Таких уже тут тем 10 точно было... Стоит ли овчинка выделенки? Как понимаю товарищ просто хочет посмотреть процесс его цикла. Тут же ему уже нужно будет почитать про потоки :) В свое время временами я отказывался от backgroundworker'a в виду его дубовости и использовал родной Thread. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 13:55 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
LameUser, ну можно и Thread, в случае с BW про потоки знать не обязательно. с другой стороны лишних знаний не бывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 14:42 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
даже если я воспользуюсь BackgroundWorker то не получить фокуса на форму с прогрессом. и даже не увидеть что происходит на ней. единственный выход Application.DoEvents() ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 17:59 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
автор в соседней теме почитайте ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 18:06 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
maximIZдаже если я воспользуюсь BackgroundWorker то не получить фокуса на форму с прогрессом. и даже не увидеть что происходит на ней. единственный выход Application.DoEvents() ? ShowDialog() формы с прогресс баром вместо Show() не пробовали (в случае запуска отдельного потока на цикл)? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 06:24 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
maximIZ, не понимаю что вы сделать -то хотите? Обычно так - нажимаете кноку на форме, на ней же progressbar. Сама логика выполняется в БГ потоке, а он передает через метод что-то там оповестить данные на прогрессбар. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 11:49 |
|
ProgressBar
|
|||
---|---|---|---|
#18+
maximIZ, берём готовое решение, например: A .NET Progress Dialog , - и делаем по аналогии. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 13:09 |
|
|
start [/forum/topic.php?fid=20&msg=38131983&tid=1405249]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 173ms |
0 / 0 |