Usuário com melhor resposta
TextBox customizada com propriedade do tipo List

Pergunta
-
Boa tarde a todos,
Estou com um problema ao criar um propriedade do tipo List em uma TextBox customizada.
Eu criei a classe MTextBox que herda da classe TextBox e criei uma variável e uma propriedade do tipo List. Segue abaixo o código:
public class MTextBox : TextBox
{private List<Color> cores;
public List<Color> Cores
{
get { return cores; }
set { cores = value; }}
}
A classe compila sem erros, e a propriedade Cores aparece nas propriedades do TextBox permitindo adicionar uma lista de cores. O problema é que depois de colocar as cores na propriedade ela apaga o valor da propriedade, ou seja, eu clico na propriedade, escolho a lista de cores, fecho a janela da propriedade e quando volto as cores já não estão mais carregadas na lista.
Alguém sabe o que devo fazer para que a propriedade não perca os valores?
Segue abaixo um print da janela da propriedade que eu preencho as cores.
Obrigado!
Respostas
-
Boa tarde William,
Nesse meio tempo em que postei a pergunta consegui achar a solução. O que faltou foi eu instanciar a classe Colors e colocar a propriedade DesignerSerializationVisibility. Segue abaixo como ficou a solução.
public class MTextBox : TextBox
{
private List<Color> cores = new List<Color>();
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<Color> Cores
{
get { return cores; }
set { cores = value; }
}
}Agora já funciona!!
- Sugerido como Resposta William John Adam TrindadeModerator segunda-feira, 2 de dezembro de 2013 17:03
- Marcado como Resposta William John Adam TrindadeModerator segunda-feira, 2 de dezembro de 2013 17:03
Todas as Respostas
-
Mas quando vc fecha a janela, onde a armazenado esta propriedade? Bando de dados?
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
Boa tarde William,
Nesse meio tempo em que postei a pergunta consegui achar a solução. O que faltou foi eu instanciar a classe Colors e colocar a propriedade DesignerSerializationVisibility. Segue abaixo como ficou a solução.
public class MTextBox : TextBox
{
private List<Color> cores = new List<Color>();
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<Color> Cores
{
get { return cores; }
set { cores = value; }
}
}Agora já funciona!!
- Sugerido como Resposta William John Adam TrindadeModerator segunda-feira, 2 de dezembro de 2013 17:03
- Marcado como Resposta William John Adam TrindadeModerator segunda-feira, 2 de dezembro de 2013 17:03