Jump to content

Recommended Posts

Posted
Titulo do Projecto Softclean RatingControl
Última Versão 1.0
Licença GNU LGPL
Líder do projecto softclean

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.

Como usar?

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.

Alguns detalhes de implementação

- 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)

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

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.

Obrigado pelas sugestões! 🙂

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

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 😛

venham mais destes 🙂

Posted

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.

Posted

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.

Obrigado pelas sugestões e aguardem progressos! 🙂

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.