dev.net.ua

Українська Спільнота Розробникiв
 
Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID
в Пошук

Progressbar

Останнє повідомлення 11-05-2008, 2:07 від mishazh. 3 відповіді.
Сортувати: Попереднє Наступне
  •  10-05-2008, 11:30 6045

    Привет Всем!

    Нужно нарисовать прогресс бар, но при этом иногда не известно какой процент работы выполнен.

    Хочется в этом случае поступить так же как и поступает MS чтобы 3 квадратика бегало по прогрессу показывая занятость.

    Можно ли настроить прогресс бар не создавая своего контрола на такой режим работы? Пока удалось только регулировать величину термометра, но он всегда начинается с начала бара.

    Дмитрий.

     

  •  10-05-2008, 12:26 6046 у відповідь на 6045

    Дима,

    Можно сделать "экспоненциальный" progressbar, который сначала растет быстро, а после половины все медленней. Делаешь timer, который увеличивает каждый раз значение _progressCounter и вызываешь:

    _statusProgressBar.Value = (Math.Log(_progressCounter) / Math.Log(100)) * 100

    Это работает!

     


    Thank you,
    Misha Zhutov
    http://submain.com - .NET Developer Tools
    Microsoft MVP
  •  10-05-2008, 13:54 6047 у відповідь на 6046

    Миша, Привет!

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

    А вот если и приблизительно время работы не известно. Тогда ведь через час приложение практически замрет и не будет видно, что оно занято полезной работой.

    В моем случае хотелось иметь возможность установить ValueMin и ValueMax чтобы термометр начинался не с начала.

    Тогда можно было бы по прогрессу по нескольку прямоугольников двигать.

    Дима.

     

     

  •  11-05-2008, 2:07 6052 у відповідь на 6047

    Я думаю, что в этом случае тебе надо смотреть либо в сторону animated gif либо делать свой progressbar, который сможет рисовать квдратики.

    С animated gif, мне кажется, будет проще - есть System.Drawing.ImageAnimator класс, который умеет проигрывать анимационные gifs.


    Thank you,
    Misha Zhutov
    http://submain.com - .NET Developer Tools
    Microsoft MVP
Переглядати як новосний Блог RSS в XML