WinForms: Cor do primeiro plano da barra de progresso sempre verde no XP Luna

votos
0

O controle WinForms ProgressBar permite a sua cor de primeiro plano a ser definido. Enquanto isso normalmente funciona bem, a definição de cor de primeiro plano parece ser ignorado no XP quando usando o estilo de Luna detestável: é sempre verde.

Similaraly, XP Luna parece ignorar o 'Estilo': Apesar de eu ter configurá-lo para 'Contínuo', a barra de progresso é sempre desenhado com blocos.

Isto é suposto ser um comportamento correto? Existe uma maneira de contornar isso?

Publicado 19/05/2009 em 20:17
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Para desativar o estilo visual Luna, você pode remover a chamada para Application.EnableVisualStyles () na classe Programa gerado automaticamente.

Isso fará com que todos os controles em formulários criados após esse ponto para se parecer com o Windows 2000.

Você pode chamá-lo condicionalmente dependendo do sistema operacional, uma vez que os estilos visuais do Vista respeitar a propriedade Style, IIRC (não pode testar agora - meu laptop morreu).


Você pode manipular o processamento do controle manualmente através do evento Paint ou derivando do controle e substituindo OnPaint * ().

Você também pode rolar o seu próprio a partir do zero, uma vez que as barras de progresso são bastante simples.

Respondeu 19/05/2009 em 20:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more