CRIANDO COMPONENTE, CRIAR PROPRIEDADE

MARCIOHR 01/10/2013 14:54:14
#429451
Olá pessoal, boa tarde!

Estou criando um componente no VB 2010 e estou me matando aqui tentando criar uma propriedade do estilo dropdownlist (Selecionável), equivalente por exemplo a propriedade TexAlign do text box.

Consigo gerar normalmente as propriedades que recebem texto, porém essa propriedade gostaria de deixar selecionável, estou criando uma caixa de texto para receber numeros ou texto e gostaria de criar 3 opções, sendo:
[Ô]Texto[Ô]
[Ô]Numeros Inteiros[Ô]
[Ô]Decimais[Ô]

Consegui fazer atraves da declaração List of String, mas não queria abrir a caixa de diálogo para selecionar como um ítem de lista, mas sim como se fosse um Combo nas propriedades.

E declarei a propriedade desta forma:

Private mEstilo As String

Public Property Estilo() As String
Get
Return mEstilo
End Get
Set(ByVal value As String)
mEstilo = value
End Set
End Property

Se alguem puder me ajudar...

Abraços!
OCELOT 01/10/2013 14:59:19
#429452
Resposta escolhida
Estas propriedades que mostram uma lista de valores usam enumerações para isso, você cria uma enumeração e usa ela como o tipo de dados da propriedade
MARCIOHR 01/10/2013 15:10:53
#429455
OCELOT, obrigado, tentei dessa forma, mas me retorna um erro de Null, teria alguma idéia? veja:

Public Enum Tipos_Estilos
Texto
Numero_Inteiro
Numero_Decimal
End Enum

Private mEstilo As String
<TypeConverter(GetType(Tipos_Estilos)), DefaultValue(True), Category([Ô]Estilo[Ô]), Description([Ô]Define o estilo do texto da caixa[Ô])>
Public Property Estilo() As String
Get
Return mEstilo
End Get
Set(ByVal value As String)
mEstilo = value
End Set
End Property
MARCIOHR 02/10/2013 12:25:46
#429495
Consegui pessoal, segue o código:

Imports System.ComponentModel

Public Class UserControl1

Public Enum Tipos_Estilos
Texto
Numero_Inteiro
Numero_Decimal
End Enum

Private mEstilo As Tipos_Estilos

<Category([Ô]*Caixa de texto[Ô]), Description([Ô]Define o estilo do texto da caixa[Ô])>
Public Property Estilos() As Tipos_Estilos
Get
Return mEstilo
End Get

Set(ByVal value As Tipos_Estilos)
mEstilo = value
End Set
End Property


Valew!
Tópico encerrado , respostas não são mais permitidas