Jump to content


Photo

Propriedades Do Controle


  • Faça o login para participar
1 reply to this topic

#1 Luiz Fernando Noschang

Luiz Fernando Noschang

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 06/08/2009, 17:37

Ola!!!
Sou novo aqui no fórum, portanto me perdoem se estiver fazendo uma pergunta que já foi postada em outro tópico.

Minha dúvida é a seguinte:

Estou criando um controle, extendendo de UserControl.
Eu estou utilizando um objeto da classe Pen para personalizar o estilo do controle.

Transformei este campo em uma propriedade da seguinte maneira:

private Pen pen;

public Pen Pen
{
get { return pen; }
set { pen = value; }
}


Porém quando abro a janela de propriedades do Visual Studio, eu não consigo alterar as propriedades do objeto pen.
Aparece o nome da Propriedade (no caso "Pen") e ao lado aparece uma String "System.Drawing.Pen".

Eu queria que as propriedades do objeto pen aparecessem nessa janela, pra poder alterá-las por ali, da mesma maneira que ocorre com o objetos da classes Font, Location, Size, Margin, etc...

É isso, se alguém souber como fazer, please me avise!!!!

#2 nvivo

nvivo
  • Visitantes

Posted 14/08/2009, 10:44

Você vai precisar decorar a propriedade com um alguns atributos da System.ComponentModel.

Sugiro que você dê uma lida em alguns artigos sobre o PropertyGrid, e sobre como adicionar "design-time support" nas suas classe. Já aviso que algumas coisas não são tão simples...

Se você tiver um Enum por exemplo, o propertygrid lista automaticamente os items. No caso, Pen é uma classe e não vai suportar nada automático. Pra tipos complexos, você vai precisar criar um TypeConverter ou um UIEditor, ou ver se o .NET tem algum que sirva por seu caso. A melhor maneira de achar isso é usar o "Reflector" (procure no google) e dar uma olhada em como algum componente do .NET funciona.

Aqui tem um artigo pra começar a ler: http://msdn.microsof...y/aa302326.aspx.

[]'s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq