Foros del Web » Programación para mayores de 30 ;) » .NET »

Código Custom Control mal generado por el Designer

Estas en el tema de Código Custom Control mal generado por el Designer en el foro de .NET en Foros del Web. Hola qué tal, les comento mi inconveniente. Estoy creando un Control personalizado que es algo así: Código: Public Class MiControl Private MiColeccion_Value as new MiColeccion ...
  #1 (permalink)  
Antiguo 26/12/2011, 20:13
Avatar de animalson  
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 8 meses
Puntos: 0
Código Custom Control mal generado por el Designer

Hola qué tal, les comento mi inconveniente. Estoy creando un Control personalizado que es algo así:

Código:
Public Class MiControl

    Private MiColeccion_Value as new MiColeccion

    Public Property Coleccion() as MiColeccion

        Get
            Return Me.MiColeccion_Value
        End Get

        Set (ByVal value as MiColeccion)
            Me.MiColeccion_Value = value
        End Set

    End Property

End Class
Acá el código de "MiColeccion"

Código:
Public Class MiColeccion

    Inherits CollectionBase

    Public Sub Add(ByVal Objeto As MiObjeto)
        Dim Index As Integer = Me.InnerList.Add(Objeto)
    End Sub

    Default Public Property Item(ByVal Index As Integer) As MiObjeto
        Get
            Return CType(Me.InnerList(Index), MiObjeto)
        End Get
        Set(ByVal value As MiObjeto)
            InnerList(Index) = value
        End Set
    End Property

End Class
Y por último el código de "MiObjeto"

Código:
Public Class MiObjeto

    Private Nombre_Value as String

    Public Property Nombre() as String

        Get
            Return Me.Nombre_Value
        End Get

        Set (ByVal value as String)
            Me.Nombre_Value = value
        End Set

    End Property

End Class

Bueno hasta ahí todo perfecto funciona 10 puntos a nivel de código. El problema está cuando inserto "MiControl" en un formulario en el diseñador de .net

Como corresponde aparece entre sus propiedades "Coleccion" y puedo ingresar para agregarle elementos (de tipo MiObjeto). Me abre el cuadro para editar la colección me deja agregarle objetos incluso modificar la propiedad "Nombre" de los objetos.

El problema está que al compilar me muestra que el en archivo del diseñador (Por ej Form1.Designer.vb) me escribe mal el código que debería insertar objetos en la colección.

En lugar de hacerlo como corresponde:

Código:
MiObjeto1.Nombre = "Uno"
MiControl1.Collecion.Add(MiObjeto1)
Lo hace de esta manera generando un error de sintaxis:


Código:
MiObjeto1.Nombre = "Uno"
New MiColeccion.Add(MiObjeto1)

La verdad que es muy curioso lo que pasa y no tengo idea de si estoy cometiendo un error. Probé varias veces en proyectos nuevos y limpios pero nada. El control que estoy diseñando pretende ser mucho más complejo y la idea es de que pueda acceder desde el diseñador para ahorrarme mucho trabajo en el futuro por eso la insistencia.

Agradezco su cooperación y tiempo. Saludos!

Etiquetas: control, custom, designer, net, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.