- Windows form progress bar
- Timer
- Индикатор прогресса ProgressBar
- Progress Bar. Perform Step Метод
- Определение
- Исключения
- Примеры
- Комментарии
- Элемент управления ProgressBar (Windows Forms) ProgressBar Control (Windows Forms)
- в этом разделе In This Section
- Справочник Reference
- Связанные разделы Related Sections
- Progress Bar. Value Свойство
- Определение
- Значение свойства
- Исключения
- Примеры
- Комментарии
- Плавное заполнение ProgressBar
- Решение
Windows form progress bar
TrackBar представляет собой элемент, который с помощью перемещения ползунка позволяет вводить числовые значения.
Некоторые важные свойства TrackBar:
Orientation : задает ориентацию ползунка — расположение по горизонтали или по вертикали
TickStyle : задает расположение делений на ползунке
TickFrequency : задает частоту делений на ползунке
Minimum : минимальное возможное значение на ползунке (по умолчанию 0)
Maximum : максимальное возможное значение на ползунке (по умолчанию 10)
Value : текущее значение ползунка. Должно находиться между Minimum и Maximum
Свойство TickStyle может принимать ряд значений:
None : деления отсутствуют
Both : деления расположены по обеим сторонам ползунка
BottomRight : у вертикального ползунка деления находятся справа, а у горизонтального — снизу
TopLeft : у вертикального ползунка деления находятся слева, а у горизонтального — сверху (применяется по умолчанию)
К наиболее важным событиям элемента следует отнести событие Scroll , которое позволяет обработать перемещение ползунка от одного деления к другому. Что может быть полезно, если нам надо, например, устанавливать соответствующую громкость звука в зависимости от значения ползунка, либо какике-нибудь другие настройки:
Timer
Timer является компонентом для запуска действий, повторяющихся через определенный промежуток времени. Хотя он не является визуальным элементом, но его аткже можно перетащить с Панели Инструментов на форму:
Наиболее важные свойства и методы таймера:
Свойство Enabled : при значении true указывает, что таймер будет запускаться вместе с запуском формы
Свойство Interval : указывает интервал в миллисекундах, через который будет срабатывать обработчик события Tick, которое есть у таймера
Метод Start() : запускает таймер
Метод Stop() : останавливает таймер
Для примера определим простую форму, на которую добавим кнопку и таймер. В файле кода формы определим следующий код:
Здесь в конструкторе формы устанавливаются начальные значения для таймера, кнопки и формы.
Через каждый интервал таймера будет срабатывать обработчик timer1_Tick , в котором изменяется положение кнопки по горизонтали с помощью свойства button1.Left . А с помощью дополнительной переменной koef можно управлять направлением движения.
Кроме того, с помощью обраотчика нажатия кнопки button1_Click можно либо остановить таймер (и вместе с ним движение кнопки), либо опять его запустить.
Индикатор прогресса ProgressBar
Элемент ProgressBar служит для того, чтобы дать пользователю информацию о ходе выполнения какой-либо задачи.
Наиболее важые свойства ProgressBar:
Minimum : минимальное возможное значение
Maximum : максимальное возможное значение
Value : текущее значение элемента
Step : шаг, на который изменится значение Value при вызове метода PerformStep
Для имитации работы прогрессбара поместим на форму таймер и в коде формы определим следующий код:
Progress Bar. Perform Step Метод
Определение
Увеличивает текущую позицию индикатора хода выполнения на значение свойства Step. Advances the current position of the progress bar by the amount of the Step property.
Исключения
Параметру Style задается значение Marquee. Style is set to Marquee.
Примеры
В следующем примере кода используется ProgressBar элемент управления для просмотра хода выполнения операции копирования файла. The following code example uses a ProgressBar control to display the progress of a file copy operation. В примере используются Minimum Свойства и Maximum для указания диапазона ProgressBar , эквивалентного числу копируемых файлов. The example uses the Minimum and Maximum properties to specify a range for the ProgressBar that is equivalent to the number of files to copy. Код также использует Step свойство с PerformStep методом для увеличения значения объекта ProgressBar при копировании. The code also uses the Step property with the PerformStep method to increment the value of the ProgressBar as a file is copied. В этом примере требуется, чтобы был ProgressBar создан элемент управления pBar1 , созданный в Form , и был создан метод CopyFile (который возвращает логическое значение, указывающее, что операция копирования файла была выполнена успешно), которая выполняет операцию копирования файлов. This example requires that you have a ProgressBar control created called pBar1 that is created within a Form, and that there is a method created called CopyFile (that returns a Boolean value indicating the file copy operation was completed successfully) that performs the file copy operation. Код также требует, чтобы массив строк, содержащих копируемые файлы, был создан и передан в CopyWithProgress метод, определенный в примере, а метод вызывался из другого метода или события в Form . The code also requires that an array of strings containing the files to copy is created and passed to the CopyWithProgress method defined in the example, and that the method is called from another method or event in the Form.
Комментарии
PerformStepМетод увеличивает значение индикатора выполнения на величину, указанную Step свойством. The PerformStep method increments the value of the progress bar by the amount specified by the Step property. Свойство можно использовать Step для указания суммы, с которой каждая выполненная задача в операции изменяет значение индикатора выполнения. You can use the Step property to specify the amount that each completed task in an operation changes the value of the progress bar. Например, при копировании группы файлов может потребоваться присвоить Step свойству значение 1, а Maximum свойству — общему числу копируемых файлов. For example, if you are copying a group of files, you might want to set the value of the Step property to 1 and the value of the Maximum property to the total number of files to copy. При копировании каждого файла можно вызвать PerformStep метод, чтобы увеличить индикатор выполнения на значение Step Свойства. When each file is copied, you can call the PerformStep method to increment the progress bar by the value of the Step property. Если требуется более гибкое управление значением индикатора выполнения, можно использовать Increment метод или задать значение Value свойства напрямую. If you want to have more flexible control of the value of the progress bar, you can use the Increment method or set the value of the Value property directly.
ValueСвойство задает текущую точку ProgressBar . The Value property specifies the current position of the ProgressBar. Если после вызова PerformStep метода Value свойство больше, чем значение Maximum свойства, Value свойство остается в значении Maximum Свойства. If, after calling the PerformStep method, the Value property is greater than the value of the Maximum property, the Value property remains at the value of the Maximum property. Если после вызова PerformStep метода с отрицательным значением, указанным в Step , Value свойство меньше значения Minimum свойства, Value свойство остается в значении Minimum Свойства. If, after calling the PerformStep method with a negative value specified in Step, the Value property is less than the value of the Minimum property, the Value property remains at the value of the Minimum property.
Так как ProgressBar объект, стиль которого имеет значение Marquee , отображает непрерывную полосу прокрутки вместо ее Value , вызов PerformStep не требуется и вызывает исключение InvalidOperationException . Because a ProgressBar object whose style is set to Marquee displays a continuously scrolling bar instead of its Value, calling PerformStep is unnecessary and will raise an InvalidOperationException.
Элемент управления ProgressBar (Windows Forms) ProgressBar Control (Windows Forms)
Элемент управления ToolStripProgressBar заменяет элемент управления ProgressBar и расширяет его функциональные возможности; однако при необходимости элемент управления ProgressBar можно сохранить для обратной совместимости и использования в будущем. The ToolStripProgressBar control replaces and adds functionality to the ProgressBar control; however, the ProgressBar control is retained for both backward compatibility and future use, if you choose.
ProgressBarЭлемент управления Windows Forms показывает ход выполнения действия, отображая соответствующее количество прямоугольников, расположенных на горизонтальной полосе. The Windows Forms ProgressBar control indicates the progress of an action by displaying an appropriate number of rectangles arranged in a horizontal bar. После завершения действия Панель заполняется. When the action is complete, the bar is filled. Индикаторы выполнения обычно используются, чтобы дать пользователю указание о том, как долго ожидать завершения завершенного действия — например, при загрузке большого файла. Progress bars are commonly used to give the user an indication of how long to wait for a protracted action to complete—for instance, when a large file is being loaded.
в этом разделе In This Section
Общие сведения об элементе управления ProgressBar ProgressBar Control Overview
Содержит общие понятия ProgressBar элемента управления, позволяющие графически отображать ход выполнения операции. Introduces the general concepts of the ProgressBar control, which enables you to graphically display the progress of an operation.
Справочник Reference
ProgressBar
Справочная информация о классе и его членах. Provides reference information on the class and its members.
Связанные разделы Related Sections
Элементы управления для использования в формах Windows Forms Controls to Use on Windows Forms
Полный список элементов управления Windows Forms со ссылками на информацию об их применении. Provides a complete list of Windows Forms controls, with links to information on their use.
Progress Bar. Value Свойство
Определение
Возвращает или задает текущее положение индикатора выполнения. Gets or sets the current position of the progress bar.
Значение свойства
Это положение находится в пределах диапазона индикатора выполнения. The position within the range of the progress bar. Значение по умолчанию — 0. The default is 0.
Исключения
Заданное значение больше значения свойства Maximum. The value specified is greater than the value of the Maximum property.
-или- -or- Заданное значение меньше значения свойства Minimum. The value specified is less than the value of the Minimum property.
Примеры
В следующем примере кода показано, как использовать Increment метод и Value свойство для увеличения значения объекта ProgressBar в Tick событии объекта Timer . The following code example demonstrates how to use the Increment method and the Value property to increment the value of a ProgressBar in the Tick event of a Timer. В примере также отображается Value свойство в, StatusBarPanel чтобы предоставить текстовое представление объекта ProgressBar . The example also displays the Value property in a StatusBarPanel to provide a textual representation of the ProgressBar. В этом примере предполагается, что у вас есть ProgressBar элемент управления с именем progressBar1 и StatusBar элемент управления, содержащий StatusBarPanel имя statusBarPanel1 . This example requires that you have a ProgressBar control, named progressBar1 , and a StatusBar control that contains a StatusBarPanel, named statusBarPanel1 . TimerИменованный объект time должен быть добавлен в форму в качестве члена. The Timer, named time , must be added to the form as a member.
Комментарии
Минимальное и максимальное значения Value свойства задаются Minimum Maximum свойствами и. The minimum and maximum values of the Value property are specified by the Minimum and Maximum properties. Это свойство позволяет увеличивать или уменьшать значение индикатора выполнения напрямую. This property enables you to increment or decrement the value of the progress bar directly. Чтобы выполнить единообразное увеличение значения ProgressBar элемента управления, можно использовать Step свойство с PerformStep методом. To perform consistent increases in the value of the ProgressBar control you can use the Step property with the PerformStep method. Чтобы увеличить значение индикатора выполнения по различным объемам, используйте Increment метод. To increase the progress bar value by varying amounts, use the Increment method.
Плавное заполнение ProgressBar
Как сделать плавное добавление в progressBar?
чтобы не резко как в этом случае: progressBar5.Value = 100; а плавно значение достигало 100
Как организовать плавное обновление Progressbar?
Подскажите, как заставить считать прогресс плавно в progeressbar. Считываю данные по кнопке, и.
Плавное обновление progressbar при загрузке файла
Здравствуйте! Есть кнопка, отрабатывающая открытие текстового файла(строк 1-20млн.). Хотел сделать.
Заполнение ProgressBar по процентам
здравствуйте подскажите как сделать чтобы ProgressBar заполнялся по процентам к примеру у меня.
Не совсем понятно, что имеется в виду под словами плавное заполнение прогрессбара. У меня вышло так
. Основа взята с урока Defazze, так что, если что-то непонятно, не спрашивайте меня что там откуда берётся — смотрите видео.
Вложения
Flows2.rar (49.7 Кб, 32 просмотров) |
baliar, плавно это как. ну, выдели на youtube’е сверху страницы красную полоску во время загрузки страницы? Вот это плавно =) И, увы, не так, как у вас.
insite2012, большое спасибо, вся отлично работает. Но возникли некоторые проблемы.
1) По идее count может быть равен нулю (никаких ошибок из-за этого не будет), но из-за этого ифа
Решение
Осталось узнать, как узнать, закрыта ли форма (или существует ли данный прогрессбар) и как, в случае false выйти из цикла =)
Добавлено через 1 минуту
insite2012, о, точно, не заметил, огромное спасибо =)
Добавлено через 50 минут
insite2012, а как остановить этот поток из основной программы?
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Заполнение ProgressBar по таймеру
Нужно сделать так: прогресбар должен загружатся вместе с выполнением программы как мне это.
Заполнение ProgressBar по таймеру
Привет подскажите как можно реализовать такое, мне надо что бы в течение 45 секунд. ишла.
Progressbar равномерное заполнение
Что-то ничего дельного на форуме так и не нашел. Поэтому вынужден открыть тему. На вин.форме.
Повторное заполнение progressBar из таймера
есть progressbar и есть timer все подсоединил , все работает (один раз ) я хочу что бы эта.