Індикатор прогресу ProgressBar

Деякі операції вашого додатку можуть виконуватися досить тривалий час. Це може бути, наприклад, обробка великого масиву даних або складна вибірка з бази даних, що містить величезну кількість записів. У подібній ситуації користувач почне нервувати, чи не зависла програма. Роботу тривалих завдань можна супроводжувати відображенням на екрані індикатора процесу виконання, використовуючи для цього стандартний елемент керування ProgressBar (рис. 1).

 

Рис.1. Індикатор прогресу ProgressBar

Елемент управління ProgressBar досить простий в налаштуванні. Для його розміщення в формі використовується кнопка ProgressBar на панелі елементів керування. Характеризується ProgressBar основними властивостями, представленими в таблиці 1.

Таблиця 1. Властивості елемента управління ProgressBar

 Властивість Призначення 
 Minimum  Мінімальна цілочисельне значення властивості Value
 Maximum  Максимальне цілочисельне значення властивості Value
 Step  Крок, на який зміниться значення властивості Value при виклику методу PerformStep
 Value  Значення властивості визначає, яка частина індикатора зафарбована

Властивості Minimum і Maximum задають діапазон зміни значення властивості Value. За замовчуванням вони рівні 0 і 100. Якщо, наприклад, в додатку певні дії виконуються в циклі, то значення властивостей Minimum і Maximum необхідно встановлювати виходячи з параметрів циклу. При цьому в циклі слід оновлювати значення властивості Value. Нижче наведено фрагмент програми, який показує спосіб  оновлення властивості Maximum:

        Dim i As Integer

        For i = Me.ProgressBar1.Minimum To Me.ProgressBar1.Maximum

            ' Замість цього коментаря має бути послідовність дій,

            'які виконуються в циклі

            Me.ProgressBar1.PerformStep()

        Next i

Змінити значення індикатора можна також за допомогою методу Increment, що використовує в якості параметра крок зміни значення властивості Value, або самого властивості Value. При зміні властивості Value безпосередньо необхідно пам'ятати, що його значення не може бути менше значення властивості Minimum і перевершувати значення властивості Maximum.

 

Рис.2. Використання в формі елемента управління ProgressBar