Variable al estilo System.Drawing.Color

10/04/2006 - 19:21 por Fher | Informe spam
Hola, tengo un objeto que puede adoptar distintos valores y me gustaría crear
algo similar a la estructura Color de VS2005, en la que podemos poner:
Dim MiColor as Color = (...) y al poner el signo de igual IntelliSense
muestra una lista de valores como si fuera una enumeración.

Quiero hacer esto exactamente igual que lo hace por tanto
System.Drawing.Color.

¿Alguien puede ayudarme? Un saludo.

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
11/04/2006 - 08:38 | Informe spam
Fher wrote:

Hola, tengo un objeto que puede adoptar distintos valores y me gustarĂ­a
crear algo similar a la estructura Color de VS2005, en la que podemos
poner: Dim MiColor as Color = (...) y al poner el signo de igual
IntelliSense muestra una lista de valores como si fuera una enumeraciĂłn.

Quiero hacer esto exactamente igual que lo hace por tanto
System.Drawing.Color.

ÂżAlguien puede ayudarme? Un saludo.



Enum Objeto
Valor1 = 0
Valor2 = 1
Valor3 = 2
End Enum

Dim prueba as Objeto = y aquí te sale la lista desplegable
Respuesta Responder a este mensaje
#2 Fher
11/04/2006 - 09:17 | Informe spam
Gracias, pero no es eso lo que quiero. Yo ya se crear enumeraciones.

Lo que quiero es crear una clase o estructura que al intentar asignarle un
valor, muestre una lista con los posibles valores disponibles (como hace
System.Drawing.Color en VS2005), es decir, que una clase al intentar
asignarle un valor se comporte con Intellisense como una enumeración, no que
sea una enumeración.

Gracias.




"Carlos Gómez" wrote:

Fher wrote:

> Hola, tengo un objeto que puede adoptar distintos valores y me gustarĂ­a
> crear algo similar a la estructura Color de VS2005, en la que podemos
> poner: Dim MiColor as Color = (...) y al poner el signo de igual
> IntelliSense muestra una lista de valores como si fuera una enumeraciĂłn.
>
> Quiero hacer esto exactamente igual que lo hace por tanto
> System.Drawing.Color.
>
> ÂżAlguien puede ayudarme? Un saludo.

Enum Objeto
Valor1 = 0
Valor2 = 1
Valor3 = 2
End Enum

Dim prueba as Objeto = y aquí te sale la lista desplegable

Respuesta Responder a este mensaje
#3 Daniel A. Seara
11/04/2006 - 16:10 | Informe spam
Supongo que es esto lo que buscas
'
Public Class MiValor

Private Sub New()

'Previene que hagan New de esta clase

End Sub

Private Sub New(ByVal valorInicial As Integer)



End Sub

Private mMiValor As Integer

Public Property MiValor() As Integer

Get

Return mMiValor

End Get

Set(ByVal value As Integer)

mMiValor = value

End Set

End Property

Public Shared Function MiValorUno() As MiValor

Return New MiValor(1)

End Function

Public Shared Function MiValorDos() As MiValor

Return New MiValor(2)

End Function

End Class

'--

"Fher" escribió en el mensaje
news:
Gracias, pero no es eso lo que quiero. Yo ya se crear enumeraciones.

Lo que quiero es crear una clase o estructura que al intentar asignarle un
valor, muestre una lista con los posibles valores disponibles (como hace
System.Drawing.Color en VS2005), es decir, que una clase al intentar
asignarle un valor se comporte con Intellisense como una enumeración, no
que
sea una enumeración.

Gracias.




"Carlos Gómez" wrote:

Fher wrote:

> Hola, tengo un objeto que puede adoptar distintos valores y me
> gustarA­a
> crear algo similar a la estructura Color de VS2005, en la que podemos
> poner: Dim MiColor as Color = (...) y al poner el signo de igual
> IntelliSense muestra una lista de valores como si fuera una
> enumeraciAln.
>
> Quiero hacer esto exactamente igual que lo hace por tanto
> System.Drawing.Color.
>
> ÂzAlguien puede ayudarme? Un saludo.

Enum Objeto
Valor1 = 0
Valor2 = 1
Valor3 = 2
End Enum

Dim prueba as Objeto = y aquí te sale la lista desplegable

Respuesta Responder a este mensaje
#4 Fher
11/04/2006 - 18:43 | Informe spam
Hola, ya tengo una clase con esas caracteristicas, pero el caso es que no me
da el resultado esperado. Cuando te declaras una variable del tipo "Color",
al poner = te salta un cuadro del Intellisense con todos los posibles valores
con un aspecto identico al de las enumeraciones, pero sin serlo o al menos
eso creo. El caso es porder hacer lo mismo pero con mi clase, teniendo
propiedades estaticas de solo lectura como tienen la clase "Color"...pero no
me sale.

"Daniel A. Seara" wrote:

Supongo que es esto lo que buscas
'
Public Class MiValor

Private Sub New()

'Previene que hagan New de esta clase

End Sub

Private Sub New(ByVal valorInicial As Integer)



End Sub

Private mMiValor As Integer

Public Property MiValor() As Integer

Get

Return mMiValor

End Get

Set(ByVal value As Integer)

mMiValor = value

End Set

End Property

Public Shared Function MiValorUno() As MiValor

Return New MiValor(1)

End Function

Public Shared Function MiValorDos() As MiValor

Return New MiValor(2)

End Function

End Class

'--

"Fher" escribió en el mensaje
news:
> Gracias, pero no es eso lo que quiero. Yo ya se crear enumeraciones.
>
> Lo que quiero es crear una clase o estructura que al intentar asignarle un
> valor, muestre una lista con los posibles valores disponibles (como hace
> System.Drawing.Color en VS2005), es decir, que una clase al intentar
> asignarle un valor se comporte con Intellisense como una enumeración, no
> que
> sea una enumeración.
>
> Gracias.
>
>
>
>
> "Carlos Gómez" wrote:
>
>> Fher wrote:
>>
>> > Hola, tengo un objeto que puede adoptar distintos valores y me
>> > gustarA­a
>> > crear algo similar a la estructura Color de VS2005, en la que podemos
>> > poner: Dim MiColor as Color = (...) y al poner el signo de igual
>> > IntelliSense muestra una lista de valores como si fuera una
>> > enumeraciAln.
>> >
>> > Quiero hacer esto exactamente igual que lo hace por tanto
>> > System.Drawing.Color.
>> >
>> > ÂzAlguien puede ayudarme? Un saludo.
>>
>> Enum Objeto
>> Valor1 = 0
>> Valor2 = 1
>> Valor3 = 2
>> End Enum
>>
>> Dim prueba as Objeto = y aquí te sale la lista desplegable
>>



Respuesta Responder a este mensaje
#5 Daniel A. Seara
11/04/2006 - 23:56 | Informe spam
Eso es un problema de como se madministran las importaciones
Este es mi formulario de prueba

Imports MisValores

Imports MisValores.MiValor

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim m As MiValor = MiValorDos()

MsgBox(m.MiValor)

End Sub

End Class

"Fher" escribió en el mensaje
news:
Hola, ya tengo una clase con esas caracteristicas, pero el caso es que no
me
da el resultado esperado. Cuando te declaras una variable del tipo
"Color",
al poner = te salta un cuadro del Intellisense con todos los posibles
valores
con un aspecto identico al de las enumeraciones, pero sin serlo o al menos
eso creo. El caso es porder hacer lo mismo pero con mi clase, teniendo
propiedades estaticas de solo lectura como tienen la clase "Color"...pero
no
me sale.

"Daniel A. Seara" wrote:

Supongo que es esto lo que buscas
'
Public Class MiValor

Private Sub New()

'Previene que hagan New de esta clase

End Sub

Private Sub New(ByVal valorInicial As Integer)



End Sub

Private mMiValor As Integer

Public Property MiValor() As Integer

Get

Return mMiValor

End Get

Set(ByVal value As Integer)

mMiValor = value

End Set

End Property

Public Shared Function MiValorUno() As MiValor

Return New MiValor(1)

End Function

Public Shared Function MiValorDos() As MiValor

Return New MiValor(2)

End Function

End Class

'--

"Fher" escribió en el mensaje
news:
> Gracias, pero no es eso lo que quiero. Yo ya se crear enumeraciones.
>
> Lo que quiero es crear una clase o estructura que al intentar asignarle
> un
> valor, muestre una lista con los posibles valores disponibles (como
> hace
> System.Drawing.Color en VS2005), es decir, que una clase al intentar
> asignarle un valor se comporte con Intellisense como una enumeración,
> no
> que
> sea una enumeración.
>
> Gracias.
>
>
>
>
> "Carlos Gómez" wrote:
>
>> Fher wrote:
>>
>> > Hola, tengo un objeto que puede adoptar distintos valores y me
>> > gustarA­a
>> > crear algo similar a la estructura Color de VS2005, en la que
>> > podemos
>> > poner: Dim MiColor as Color = (...) y al poner el signo de igual
>> > IntelliSense muestra una lista de valores como si fuera una
>> > enumeraciAln.
>> >
>> > Quiero hacer esto exactamente igual que lo hace por tanto
>> > System.Drawing.Color.
>> >
>> > ÂzAlguien puede ayudarme? Un saludo.
>>
>> Enum Objeto
>> Valor1 = 0
>> Valor2 = 1
>> Valor3 = 2
>> End Enum
>>
>> Dim prueba as Objeto = y aquí te sale la lista desplegable
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida