PROPRIEDADE LIST

USUARIO.EXCLUIDOS 27/05/2005 09:46:24
#85426
Alguém sabe como faço para que uma propriedade de minha classe apareça na janela Properties como uma lista? Assim como acontece quando vc clica na propriedade list de uma listbox?
LCSD 27/05/2005 10:09:30
#85431
Hawk

Bom Dia

Crie uma classe com nome de clsTeste e copie o código abaixo:

Private m_Nivel As Integer

Public Enum Avaliar
Péssimo
Ruim
Regular
Bom
Ó“timo
End Enum

Public Property Let Nivel(New_Nivel As Avaliar)
m_Nivel = tmp
End Property

Public Property Get Nivel() As Avaliar
Nivel = m_Nivel
End Property


Depois no Projeto você testará

Dim clsTes As clsTeste

clsTes.Nivel = Bom


O que você necessita é usar Enumeradores - ENUM Público, com isto você terá "Padrões" e aparecerão no estilo List.

Veja se é isto que necessita.
[s92]
USUARIO.EXCLUIDOS 27/05/2005 12:55:19
#85488
Obrigado KPellaJr. O problema é que isso eu já sei :(

Eu estou fazendo um combobox melhorado, entende? Por isso, preciso da propriedade list funcionando tanto em run-time como em design-time... Entende? Estou querendo digitar a lista da minha combobox na janela Properties...
LCSD 27/05/2005 13:03:08
#85489
Hawk

O Procedimento é o mesmo.

é só você colocar nas Properties com Públicas e usar Enums como tipo de dados, na Janela Propriedades aparecerá uma ListBox com os dados definidos no Enum, como no exemplo acima.

Não é isso que você precisa?
[s92]
USUARIO.EXCLUIDOS 27/05/2005 13:34:18
#85490
Obrigado pela resposta mas não é isso que preciso.

Abra um projeto e um formulário novo no vb e insira nele uma combobox. Vá nas propriedades dela na janela Properties e clique na propriedade List. O vb abrirá um espaço onde vc insere as informações (ítens da lista) da combobox (digite teste1 e tecle CTRL + ENTER, teste2 e tecle CTRL+ ENTER). Rode seu projeto e clique na sua combobox. Os ítens 'teste1' e 'teste2' estarão disponíveis, sem vc digitar uma linha de código.

é disso que eu preciso! Mas tenho que fazer isso em um componente que estou criando...

Enum, pelo que sei, serve, por exemplo para definir o tipo da combo (dropdownlist,blábláblá...) me entende?

Obrigado.
LCSD 27/05/2005 13:40:52
#85492
Hawk

Mas não tem a ver com Classes e sim com Properties

O que acontece é que você teria um Property do tipo ITEM, digamos, e tem que salvar os dados via WriteProperties e recuperar via ReadProperties, se não está salvando ou recuperando a mesma não guardará o que for digitado.
[s92]

USUARIO.EXCLUIDOS 27/05/2005 14:53:49
#85499
Poxa, não estou conseguindo me expressar... E não consigo fazer com que o meu componente tenha as características que desejo. Conheço isso tudo que vc está falando mas nada disso é o que eu realmente preciso. Se eu colocar a propriedade Item como String eu terei uma string somente. Se eu colocar assim public propery Items(indice as integer, texto as string) e utilizar writeproperties e readproperties essa propriedade para de aparecer na janela Properties e passo a só poder utilizá-la em run-time... Alguém me entendeu? Quero digitar na propriedate Items da janela Properties uma lista contendo os ítens que quero para minha combo.
LCSD 27/05/2005 15:03:16
#85502
Hawk

Entendi agora, mas não fiz até hoje.

Talvez por intermédio de uma Matriz consiga-se.
[s50]
USUARIO.EXCLUIDOS 27/05/2005 15:22:08
#85508
Pois é, o problema é como utilizar essa matriz para fazer isso... Tà' apanhando... Já tentei utilizar matriz mas como utilizá-la no método get? Só se fizer o esquema que falei de passar o índice mas aí vc estará passando apenas um ítem de uma lista... Ou estou errado e tem como fazer isso? Só sei que o componente que estou fazendo para substituir a combobox do vb fai acabar ficando sem a possibilidade de edição da lista em design-time... :( A não ser que apareça algum salvador da pátria! :)
USUARIO.EXCLUIDOS 30/05/2005 11:33:25
#85884
Se alguém tiver uma idéia que possa solucionar meu problema, por favor, fale comigo por e-mail: c4m1ll0@yahoo.com.

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