Pergunta

Eu estou usando uma barra de progresso para exibir o status da bateria. Se o usuário clicar na barra de progresso eu quero mostrar um popup com detalhes.

Excluindo a solução que exige a verificação se os coordonates clique está nos limites da barra de progresso tem alguém encontrou outra solução ou uma solução para isso?

Foi útil?

Solução

OK, uma maneira mais fácil de fazer o controle personalizado é apenas para começar com um UserControl, soltar um ProgressBar sobre ele e encaixá-lo para que ele preenche o UserControl, em seguida, expor o ProgressBar como uma propriedade pública do UserControl, de modo que seu código diria

myProgressBar1.ProgressBar.Max = 100

em vez de

progressBar1.Max = 100

Em seguida, basta usar o evento Click do usercontrol para mostrar os detalhes (eu acho que você pode ter que desativar o ProgressBar interior para o clique ao trabalho, mas isso não deve afetar a aparência da barra de progresso).

Desta forma, o controle de usuário se parece exatamente com uma barra de progresso regulares (e, portanto, como ass). :)

Outras dicas

forma boa Além disso, é geralmente considerado somente controles de uso na maneira que os usuários estão acostumados a. As barras de progresso são destinados (e tradicionalmente usado) apenas para exibir informações. É por isso que eles removeram todos os eventos de interação em Compact Framework.

Eu acho que uma abordagem melhor seria deixar a barra de progresso como ela é, e adicionar um "Detalhes" LinkLabel acima ou ao lado do bar.

Eu sempre acabou de escrever minha própria usercontrol ProgressBar personalizado. Demora talvez 5 minutos para escrever, e as built-in de progresso aparência de controle de bar como bunda de qualquer maneira.

Eu acho que pode ser possível usar a reflexão para isso, mas seria mais fácil simplesmente escrever seu próprio controle.

Update:. Eu apenas tentei lançar o ProgressBar como um controle (que tem um evento Click) e, em seguida, atribuir um manipulador de eventos no código, mas isso não parece trabalho

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top