ProgressLinear - индикатор прогресса

исходники++ / Язык программирования C# / ProgressLinear - индикатор прогресса
Оглавление:
  1. Цветной индикатор прогресса ProgressLinear
  2. Режим работы по позиции
  3. Режим анимации
  4. Индикатор ProgressLinear с настройками цвета
  5. Настройки элемента ProgressLinear
  6. Исходник ProgressLinear
  7. Внедрение класса ProgressLinear в программный код приложений

Цветной индикатор прогресса ProgressLinear

Красивый и удобный индикатор ProgressBar C# Windows Forms визуализирует внутренние процессы приложения позволяя создавать дружелюбные динамичные интерфейсы. Длина цветной полосы интуитивно понятно показывает ход и объем начатой работы, не раздражая пользователей скудностью информативности интерфейса.

К сожалению, индикатор ProgressBar не имеет настроек цвета и практически не адаптируется под желаемые цветовые схемы. Чтобы изменить цвета классического индикатора ProgressBar необходимо написать достаточно много дополнительного программного кода.

Линейный индикатор ProgressLinear - предназначен для встраивания в интерфейсы приложений различных цветовых тем. ProgressLinear имеет два режима работы для точных процессов и оживления интерфейса анимацией. Исходник предлагается в виде класса и встраивается в программный код непосредственным копированием в проект. Исходный код подробно комментируется.

Режим работы по позиции

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

Цвет полосы и цвет фона настраиваются открытыми свойствами присвоением любого цвета. Текст процентов имеет двухцветную настройку: цвет на фоне полосы прогресса и цвет на фоне заднего фона элемента. Причем текст имеет не символьные цветовые границы, а пиксельные, это значит, что один символ может быть двухцветным. Граница цветов является динамической и перемещается вместе с правым краем полосы прогресса. Размер символов автоматически корректируется в зависимости от высоты элемента.

Режим анимации

Режим анимации предназначен для длительных вычислений, время которых количественно рассчитать невозможно, например, обращение к базе данных, открытие файла, ожидание выбора пользователя, запуск подготовительных процессов и т.п.

Анимация создается иллюзией бесконечного движения прямоугольников слева направо. Настройками можно создавать наклон прямоугольников, превращая их таким образом в параллелограммы. Цветовые настройки анимации аналогичны режиму по позиции, символы процентов в режиме анимации скрываются.

Индикатор ProgressLinear с настройками цвета

ProgressLinear настройки в дизайнерском режиме

ProgressLinear – линейный индикатор прогресса с расширенными цветовыми настройками для интерфейса C# Windows Forms.

Линейный индикатор обеспечивает два режима работы: по позиции полосы индикатора и режим бесконечной анимации при визуализации работ с неопределенным периодом работы.

Индикатор имеет множество цветовых и функциональных настроек. Настройки определены открытыми свойствами и доступны для изменений в дизайнерском режиме и в программном коде. С помощью данных настроек можно значительно разнообразить цветовую гамму и вид экземпляров индикатора ProgressLinear.

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

В качестве примера ниже показаны некоторые настройки индикатора ProgressLinear программным способом:

 public partial class Form1 : Form
{
    readonly ProgressLinear progressLine = new ProgressLinear();

    public Form1()
    {
        InitializeComponent();

        progressLine.Location = new Point(50, 10);
        Controls.Add(progressLine);

        InitProgressLinearByPosition()
    }

    // Настройки режима работы по позиции
    private void InitProgressLinearByPosition()
    {
        progressLine.Maximum = 300;
        // Установка режима индикатора по позиции
        progressLine.ModeWork = Indicators.OptionsModeWork.ByPosition;
        // Настройка цвета фона элемента
        progressLine.BGColor = Color.FromArgb(255, 255, 255);
        // Настройка цвета полосы-шкалы 
        progressLine.ProgressColor = Color.FromArgb(0, 0, 255);
        // Настройка цвета текста чисел процентов на заднем фоне
        progressLine.BGTextColor = Color.White;
        // Настройка цвета на полосе прогресса
        progressLine.ProgressTextColor = Color.Black;
        // Настройка цвета рамки вокруг элемента
        progressLine.FrameColor = Color.FromArgb(80, 80, 180);
        // Толщина рамки
        progressLine.FrameThickness = 4;
        // Видимость рамки
        progressLine2.FrameVisible = true;
    }

    // Настройки режима работы анимации
    private void InitProgressLinearAnimation()
    {
        // Установка режима анимации длительных процессов
        progressLine.ModeWork = Indicators.OptionsModeWork.Animation;
        // Определение ширины интервала между фигурами 
        // относительно ширины фигуры.
        progressLine.IntervalFigures = 0.5F;
        // Наклон прямоугольников вправо на 30 градусов.
        progressLine.AngleFigures = 30;
        // Скорость анимации 5 условных временных единиц
        progressLine.AnimationSpeed = 5;
        // Ширина фигур
        progressLine.WidthFigures = 50;
        // Анимация остановлена
        progressLine.AnimationEnabled = false;
    }
    
}

Настройки элемента ProgressLinear

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

Категория ProgressSettings:
  • OptionsModeWork ModeWork – режим работы индикатора: по позиции или анимация
  • bool FrameVisible – видимость рамки вокруг элемента
  • int FrameThickness – толщина рамки
  • Color FrameColor – цвет рамки
  • Color ProgressColor – цвет полосы прогресса и прямоугольников анимации
  • Color BGColor – цвет заднего фона элемента
Категория ProgressPosition:
  • int Position – положение правого края полосы линейного индикатора
  • int Maximum – максимальное значение позиции
  • Color BGTextColor – цвет текста процентов на заднем фоне элемента
  • Color ProgressTextColor – цвет текста на фоне полосы
  • bool PercentVisible – видимость числа процентов
Категория ProgressAnimation:
  • int AngleFigures – наклон фигур в градусах от -80 до 80
  • int WidthFigures – ширина фигур
  • float IntervalFigures – промежуток, зазор между фигурами как отношение к их ширине
  • float AnimationSpeed – Скорость анимации 0 - 10. 0 - стоп.

Исходник ProgressLinear

Линейный индикатор прогресса предоставляется в виде программного кода одноименного класса на языке C# Windows Forms. Класс ProgressLinear поможет вам сократить затраты времени на разработку вспомогательных визуальных элементов.

Индикатор предназначен для непосредственного встраивания в программный код приложения на языке C# интерфейса Windows Forms. ProgressLinear готов к применению, а предложение его в виде программного кода, но не в виде неизменяемой dll библиотеки дает возможность расширения элемента дополнительной функциональностью.

Исходный код представлен тестовым приложением в состав которой входит класс линейного индикатора ProgressLinear. Подробные комментарии объясняют назначение и функции значимых строк программного кода.

Внедрение класса ProgressLinear в программный код приложений

Класс ProgressLiner  в составе приложения

Класс индикатора ProgressLinear подключается к проекту C# прямым копированием папки Indicators в папку проекта приложения. После копирования необходимо пересобрать проект и индикатор ProgressLinear появится в панели элементов.

После добавления элемента на форму приложения, в окне свойств, можно корректировать цветовые и габаритные настройки. Пример внедрения класса ProgressLinear программным способом можно посмотреть выше.

Программный код может быть понижен до версии языка C# 7.3 и адаптироваться под проекты в средах от .NET3.1 и выше, .NET Framework 4.0 и выше.

Доступ к исходнику

Для скачивания исходника необходимо ввести код:

Оплата кода доступа

Стоимость доступа к исходнику - 150 ₽

Сразу после оплаты активируется ссылка на скачивание исходника. Также, на указанный e-mail высылается код доступа. Код действует 2 суток. Внимание: письмо может попасть в папку спама.

Скачать исходник

Тема: «ProgressLinear - индикатор прогресса» ProgressLinear пример работы💾TestProgressLinear-vs17.zipРазмер:102 КбайтЗагрузки:20