Discussão do artigo "DoEasy. Controles (Parte 27): Continuamos a trabalhar no objeto WinForms "ProgressBar""

 

Novo artigo DoEasy. Controles (Parte 27): Continuamos a trabalhar no objeto WinForms "ProgressBar" foi publicado:

Neste artigo, continuaremos desenvolvendo o controle ProgressBar. Criaremos a funcionalidade para gerenciar a barra de progresso e os efeitos visuais.

Compilamos e executamos o Expert Advisor no gráfico:


No primeiro loop, podemos observar o aumento da largura do objeto ProgressBar, que é acompanhado pelo aumento proporcional da largura da barra de progresso. Ao mesmo tempo, Value é definido como 50 inicialmente e permanece constante, já que a largura da barra de progresso é definida em relação a esse valor.

No segundo loop, o método PerformStep é chamado a cada iteração, aumentando o valor relativo em cada passo de incremento. Embora haja 350 incrementos, é perceptível que a barra de progresso está crescendo em mais de um pixel por vez. Isso ocorre porque todos os valores são calculados como uma porcentagem da largura da barra de progresso e são relativos entre si. É importante lembrar que não é possível aumentar exatamente um pixel por vez, pois se a largura da barra de progresso for de 100 pixels e o número de etapas for 1000, então serão necessárias 10 etapas de incremento para cada pixel. Esses valores relativos são corretos e esperados, e não afetam o cálculo do progresso geral.

Ao finalizar o laço de incremento da barra de progresso, é possível notar um reflexo passando por ela a cada dois segundos. Embora isso seja suficiente para demostrar a funcionalidade, a aparência da barra ainda pode ser melhorada. Em primeiro lugar, o brilho deveria percorrer a barra em movimento e não a já concluída. Em segundo lugar, o efeito atual é bastante simples e pode ser aprimorado. Felizmente, todas essas questões serão gradualmente refinadas, corrigidas e aprimoradas.

Autor: Artyom Trishkin