RatingControl - Um controlo para ratings em .net - Software Livre - Portugal-a-Programar
RatingControl - Um controlo para ratings em .net
Por softklin, 16 de Maio de 2009 em Software Livre
[td]Titulo do Projecto[/td]
[td]Softclean RatingControl[/td]
[td]Última Versão[/td]
[td]Licença[/td]
[td]GNU LGPL[/td]
[td]Líder do projecto[/td]
Nestes últimos tempos tenho estudado VB.net e tenho gostado muito até agora. Queria dar um salto para o C#, mas recentemente descobri o mundo dos controlos personalizados, e resolvi criar um controlo que sempre me fez falta desde os tempos do VB6: um controlo de rating, aqueles com as estrelas de 1 a 5. Safava-me sempre com 5 imagens e um monte de código a mais no meu projecto
Pois bem, o projecto não passa de um controlo deste género, com as opções de selecção básicas de 1 a 5. Uma imagem:
O projecto tem duas soluções:
- RatingControlTest, é para testarem o controlo, é uma aplicação normalíssima em VB, com o controlo lá embutido. Tem alguns comentários para ajudar a perceber o funcionamento.
- RatingControl, o projecto em si, contém todo o código desenvolvido. Se compilarem este projecto, vão obter um ficheiro chamado 'RatingControl.dll'. Esse ficheiro permite-vos usar o controlo. Podem inclusivé tê-lo na Toolbox, bastando para isso:
1) botão direito na toolbox, e clicar em 'Choose Items...'.
2) Clicam no botão browse, e vão à pasta onde se encontra o ficheiro 'RatingControl.dll' e seleccionam-o.
3) Clicar em Ok, e devem ver o controlo na vossa toolbox, com o icone de uma estrela amarela. Podem usar normalmente, como um outro controlo qualquer.
- O controlo oferece um evento que pode ser útil para saber quando o rating foi alterado (RatingUpdated)
- O controlo está em inglês por uma questão de publico alvo
- Dois controlos são considerados iguais (chamada ao método equals) se os valores de rating forem iguais
Qualquer dúvida, sugestão, crítica que tenham, será certamente bem-vinda.
Download do código-fonte + demonstração: http://www.mediafire.com/file/gmzzoywwdyy/sc_ratingcontrol_1.0.zip
(links para a versão 1.0)
Normalmente os controlos de classificação fazem uma animação quando o rato passa por cima
Podes ver este exemplo que te pode dar algumas ideias:
http://msdn.microsoft.com/en-us/magazine/cc163861.aspx
Foi algo que eu pensei inicialmente, mas depois nem fiz já nem sei muito bem porquê
É fácil de se fazer. Ao ler assim o artigo na diagonal, também vi que criam diferentes formas, algo que também, se conseguir, irei implementar no meu controlo, nem que sejam imagens escolhidas pelo utilizador/programador.
Podias ter posto o evento RatingUpdated como default, porque assim com duplo clique em cima do controlo no form, "abria" logo esse evento para codar. "Mariquices" por assim dizer....
Está um projecto engraçado sim senhor
Acho que devias implementar isso tudo que foi dito aqui e ainda personalizar o número de estrelas. E já agora, permitir votar meias estrelas, por exemplo, 3.5.
O pormenor do default nem sabia que dava para fazer, mas encontrei e já está colocado. Quanto ao hover nas estrelas, também estou a tentar, aproveito e separo as estrelas numa classe diferente do controlo, e assim fica mais personalizável. Por fim, também vou tentar aplicar pelo menos a sugestão do número de estrelas e de as personalizar.