- Практическое руководство. Установка значения, отображаемого c помощью элемента управления ProgressBar в Windows Forms How to: Set the Value Displayed by the Windows Forms ProgressBar Control
- Установка значения ProgressBar напрямую To set the ProgressBar value directly
- Увеличение индикатора выполнения на фиксированное значение To increase the progress bar by a fixed value
- Увеличение индикатора выполнения на динамическое значение To increase the progress bar by a dynamic value
- Windows Forms ProgressBar: самый простой способ запуска / остановки шатра?
- 7 ответов:
- TProgressBar
- Как сделать ProgressBar таким же, как на заставке Windows XP
- Содержание материала
- Добавить комментарий
- Прогресс бар и серверная процедура (тонкий клиент)
- Скачать файлы
- Специальные предложения
- См. также
- Альтернативный способ добавления элементов и реквизитов на формы Промо
- Интерактивная справка по объектам 1С (подключаемое расширение)
- Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах
- Делаем из СКД Excel (ну, почти)
- Расширенная настройка динамического списка УФ Промо
- Индикация прогресса выполнения фонового задания на управляемой форме внешней обработки
- Декомпиляция условного оформления
- Многоуровневые списки выбора с оформлением элементов
- Открывашка ячеек таблиц Промо
- Удобный выбор из таблицы/дерева в УФ
- [Механизм интерфейса] Свой флажок (чекбокс)
- Отбор на управляемой форме из списка значений
- Лучший подарок для бухгалтера — счёты 8.2 (со звуком) Промо
- Обработка-редактор HTML
- Виртуальная (экранная) клавиатура для управляемых форм
- Рисуем и распознаем нарисованное при помощи нейросети
- Визуализация событий на временной шкале средствами «Поле HTML документа» Промо
- Рисуем диаграммы в metadata.js
- Продвинутое рисование в табличном документе (стрелок и не только)
- Иерархическая диаграмма
- Работа с данными выбора Промо
- Рисуем стрелки в табличном документе
- Программная работа с графическими схемами. Готовое решение
- Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX
- Интерактивный интерфейс Промо
- Программное создание элементов графической схемы (через XSLT)
- Простой редактор плана помещения JavaScript
- Настройка начальной страницы (Рабочего стола)
- Программное формирование форматированной строки в стиле html+inline CSS Промо
- [Расширение] Стартовые страницы. Автозапуск форм при старте 1С. (8.3.9+, без доработки конфигурации)
- Конструктор условного оформления
- HTTP-сервис: отчеты [Расширение]
- Цветовые схемы для конфигуратора 1С (Популярные цветовые схемы для C# — теперь и для 1С) (Теперь 8.2 — 8.3) Промо
- Механизм доп. реквизитов и сведений
- Блокировка баннеров при помощи расширения
- Простые радости жизни программиста 1С: выбор типа значения
- NativeDraw: Компонента рисования для 1С [V2.6.2] Промо
- Визуальный редактор цветовых схем подсветки синтаксиса 1С + импорт схем Visual Studio
- Передача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах
- Инструмент для создания веб приложений на основе 1С REST сервиса
- Подборка иконок для подсистем 1С:8.2, 8.3 (740 шт.) PNG 48х48 Промо
- Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса
- Визуальный html редактор на управляемых формах
- Универсальное настраиваемое рабочее место (Версия 2.0)
Практическое руководство. Установка значения, отображаемого c помощью элемента управления ProgressBar в Windows Forms How to: Set the Value Displayed by the Windows Forms ProgressBar Control
Элемент управления 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.
.NET Framework предоставляет несколько различных способов отобразить заданное значение в ProgressBar элементе управления. The .NET Framework gives you several different ways to display a given value within the ProgressBar control. Выбор способа зависит от поставленной задачи или от решаемой проблемы. Which approach you choose will depend on the task at hand or the problem you are solving. В следующей таблице показаны подходы, которые можно выбрать. The following table shows the approaches you can choose.
Метод Approach | Описание Description |
---|---|
Задайте значение ProgressBar элемента управления напрямую. Set the value of the ProgressBar control directly. | Этот подход удобен для задач, где известно общее количество элементов, которые будут задействованы, например чтение записей из источника данных. This approach is useful for tasks where you know the total of the item measured that will be involved, such as reading records from a data source. Кроме того, если необходимо задать значение только один раз или дважды, это легко сделать. Additionally, if you only need to set the value once or twice, this is an easy way to do it. Наконец, используйте этот процесс, если необходимо уменьшить значение, отображаемое индикатором выполнения. Finally, use this process if you need to decrease the value displayed by the progress bar. |
Увеличьте ProgressBar Отображаемое значение на фиксированное. Increase the ProgressBar display by a fixed value. | Этот подход удобен при отображении простого счетчика между минимальным и максимальным значением, например прошедшее время или числом файлов, которые были обработаны из известного итога. This approach is useful when you are displaying a simple count between the minimum and maximum, such as elapsed time or the number of files that have been processed out of a known total. |
Увеличьте ProgressBar Отображаемое значение, используя различные значения. Increase the ProgressBar display by a value that varies. | Этот подход удобен, если необходимо изменить отображаемое значение на несколько раз в разных объемах. This approach is useful when you need to change the displayed value a number of times in different amounts. Пример показывает объем занятого места на жестком диске при записи ряда файлов на диск. An example would be showing the amount of hard-disk space being consumed while writing a series of files to the disk. |
Самым прямым способом задания значения, отображаемого индикатором выполнения, является установка Value Свойства. The most direct way to set the value displayed by a progress bar is by setting the Value property. Это можно сделать либо во время разработки, либо во время выполнения. This can be done either at design time or at run time.
Установка значения ProgressBar напрямую To set the ProgressBar value directly
Задайте ProgressBar значения элемента управления Minimum и Maximum . Set the ProgressBar control’s Minimum and Maximum values.
В коде задайте для свойства элемента управления Value целочисленное значение между минимальным и максимальным значениями, которые вы установили. In code, set the control’s Value property to an integer value between the minimum and maximum values you have established.
Если задать Value свойство вне границ Minimum , установленных Maximum свойствами и, элемент управления создаст ArgumentException исключение. If you set the Value property outside the boundaries established by the Minimum and Maximum properties, the control throws an ArgumentException exception.
В следующем примере кода показано, как задать ProgressBar значение напрямую. The following code example illustrates how to set the ProgressBar value directly. Код считывает записи из источника данных и обновляет индикатор выполнения и метку при каждом считывании записи данных. The code reads records from a data source and updates the progress bar and label every time a data record is read. Этот пример требует, чтобы форма соработала Label элемент управления, ProgressBar элемент управления и таблицу данных со строкой CustomerRow с именами FirstName и LastName . This example requires that your form has a Label control, a ProgressBar control, and a data table with a row called CustomerRow with FirstName and LastName fields.
При отображении хода выполнения, который выполняется с фиксированным интервалом, можно задать значение и затем вызвать метод, который увеличивает ProgressBar значение элемента управления на этот интервал. Это полезно для таймеров и других сценариев, в которых ход выполнения не измеряется в процентах от целого. This is useful for timers and other scenarios where you are not measuring progress as a percentage of the whole.
Увеличение индикатора выполнения на фиксированное значение To increase the progress bar by a fixed value
Задайте ProgressBar значения элемента управления Minimum и Maximum . Set the ProgressBar control’s Minimum and Maximum values.
Задайте Step для свойства элемента управления целое число, представляющее величину, чтобы увеличить отображаемое значение индикатора выполнения. Set the control’s Step property to an integer representing the amount to increase the progress bar’s displayed value.
Вызовите PerformStep метод, чтобы изменить значение, отображаемое на величину, заданную в Step свойстве. Call the PerformStep method to change the value displayed by the amount set in the Step property.
В следующем примере кода показано, как индикатор выполнения может поддерживать количество файлов в операции копирования. The following code example illustrates how a progress bar can maintain a count of the files in a copy operation.
В следующем примере, когда каждый файл считывается в память, индикатор выполнения и метка обновляются для отражения общего числа считываемых файлов. In the following example, as each file is read into memory, the progress bar and label are updated to reflect the total files read. В этом примере требуется, чтобы форма соработала Label элемент управления и ProgressBar элемент управления. This example requires that your form has a Label control and a ProgressBar control.
Наконец, можно увеличить значение, отображаемое индикатором выполнения, чтобы каждое увеличение было уникальным. Это полезно, если вы отслеживаете ряд уникальных операций, например запись файлов различных размеров на жесткий диск или измерение хода выполнения в процентах от целого. This is useful when you are keeping track of a series of unique operations, such as writing files of different sizes to a hard disk, or measuring progress as a percentage of the whole.
Увеличение индикатора выполнения на динамическое значение To increase the progress bar by a dynamic value
Задайте ProgressBar значения элемента управления Minimum и Maximum . Set the ProgressBar control’s Minimum and Maximum values.
Вызовите Increment метод, чтобы изменить значение, отображаемое указанным целым числом. Call the Increment method to change the value displayed by an integer you specify.
В следующем примере кода показано, как индикатор выполнения может вычислить, сколько места на диске использовалось во время операции копирования. The following code example illustrates how a progress bar can calculate how much disk space has been used during a copy operation.
В следующем примере, когда каждый файл записывается на жесткий диск, индикатор выполнения и метка обновляются с учетом объема доступного места на жестком диске. In the following example, as each file is written to the hard disk, the progress bar and label are updated to reflect the amount of hard-disk space available. В этом примере требуется, чтобы форма соработала Label элемент управления и ProgressBar элемент управления. This example requires that your form has a Label control and a ProgressBar control.
Windows Forms ProgressBar: самый простой способ запуска / остановки шатра?
Я использую C# и Windows Forms. У меня есть нормальный индикатор выполнения, работающий нормально в программе, но теперь у меня есть другая операция, где продолжительность не может быть легко вычислена. Я хотел бы отобразить индикатор выполнения, но не знаю лучшего способа запуска/остановки прокрутки шатра. Я надеялся на что-то столь же простое, как установка скорости шатра, а затем запуск() и остановка (), но это не кажется таким простым. Нужно ли запускать пустой цикл в фоновом режиме? Как мне лучше всего это сделать это? Спасибо
7 ответов:
используйте индикатор выполнения со стилем, установленным в Marquee . Это представляет собой индикатор.
вы также можете использовать MarqueeAnimationSpeed свойство, чтобы установить, как долго это займет маленький блок цвета, чтобы анимировать через ваш индикатор выполнения.
начать/остановить анимацию, вы должны сделать это:
Это не так, как они работают. Вы «запускаете» индикатор выполнения стиля шатра, делая его видимым, вы останавливаете его, скрывая его. Вы можете изменить свойство стиля.
этот код является частью формы входа, где пользователи ждут ответа сервера аутентификации.
хороший статьи С кодом по этой теме на MSDN. Я предполагаю, что установка свойства Style в ProgressBarStyle.Шатер не подходит (или это то, что вы пытаетесь контролировать?? — Я не думаю, что можно остановить/запустить эту анимацию, хотя вы можете контролировать скорость, как указывает @Paul).
здесь уже много хороших ответов, хотя вам также нужно иметь в виду, что если вы выполняете длительную обработку в потоке пользовательского интерфейса (как правило, плохая идея), то вы также не увидите перемещение шатра.
можно использовать таймер (система.Окна.Формы.Таймер.)
крюк это тик событие, заранее затем индикатор выполнения, пока он не достигнет максимального значения. когда это произойдет (нажмите max), и вы не закончили работу, сбросьте значение индикатора выполнения до минимума.
. так же, как проводник Windows: -)
TProgressBar
Как сделать ProgressBar таким же, как на заставке Windows XP
Содержание материала
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, ComCtrls, StdCtrls;
TForm1 = class (TForm)
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
PBM_SETMARQUEE = WM_USER + 10 ;
procedure TForm1.Button1Click(Sender: TObject);
GetWindowLong(ProgressBar1.Handle, GWL_STYLE) Or PBS_MARQUEE);
SendMessage(ProgressBar1.Handle, PBM_SETMARQUEE, 1 , FSpeed);
procedure TForm1.Button2Click(Sender: TObject);
SendMessage(ProgressBar1.Handle, PBM_SETMARQUEE, 0 , 0 );
Use this ProgressBar when you do not know the amount of progress toward
completion but wish to indicate that progress is being made.
This ProgressBar works only on Windows XP and the ComCtl32.dll version
6.00 or later is needed. To use the new ComCtrl you have to provide the manifest.
In Delphi 7 just drop TXPManifest on the form. For prior versions of Delphi
you have to include the XP manifest resource.
SysUtils, Windows, Classes, Controls, ComCtrls, Messages;
TMarqueeProgressBar = class (TProgressBar)
procedure SetActive( const Value: Boolean);
procedure SetAnimationSpeed( const Value: Integer);
procedure CreateParams( var Params: TCreateParams); override ;
constructor Create(AOwner: TComponent); override ;
property Active: Boolean read FActive write SetActive;
property AnimationSpeed: Integer read FAnimationSpeed write SetAnimationSpeed;
PBM_SETMARQUEE = WM_USER + 10 ;
RegisterComponents( ‘SwissDelphiCenter’ , [TMarqueeProgressBar]);
constructor TMarqueeProgressBar.Create(AOwner: TComponent);
procedure TMarqueeProgressBar.CreateParams( var Params: TCreateParams);
Params.Style := Params.Style or PBS_MARQUEE;
procedure TMarqueeProgressBar.SetActive( const Value: Boolean);
procedure TMarqueeProgressBar.SetAnimationSpeed( const Value: Integer);
if FActive then
SendMessage(Self.Handle, PBM_SETMARQUEE, 1 , FAnimationSpeed)
SendMessage(Self.Handle, PBM_SETMARQUEE, 0 , 0 );
Добавить комментарий
Не использовать не нормативную лексику.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!
Прогресс бар и серверная процедура (тонкий клиент)
Как известно, в клиент-серверном режиме 1С прогресс бар (или функция «состояние») бесполезны, если процедура выполняется на сервере.
Одним из решением данной задачи является использование фонового задания. Ниже покажу пример , как это использовать.
Идея заключается в следующем:
1. Запускаем фоновое задание
2. Мониторим состояние выполнения процедуры, путем считывания сообщения пользователю
Кроме того, после выполнения процедура зачаустую приходится получать какой-то результат (текстовое сообщение, таблица значений или табличный документ). Любой резултат можно поместить во временное хранилище, а потом на клиенте получить результат.
Скачать файлы
Наименование | Файл | Версия | Размер |
---|---|---|---|