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

Control Personalizado

Estas en el tema de Control Personalizado en el foro de .NET en Foros del Web. Hola a todos. Estoy creando un Control Personalizado con VB.NET al cual le quiero agregar una propiedad que sea una coleccíon ( o en su ...
  #1 (permalink)  
Antiguo 14/11/2005, 03:32
 
Fecha de Ingreso: septiembre-2005
Mensajes: 16
Antigüedad: 18 años, 7 meses
Puntos: 1
Control Personalizado

Hola a todos.
Estoy creando un Control Personalizado con VB.NET al cual le quiero agregar una propiedad que sea una coleccíon ( o en su defecto un array de una clase creada por mi). Hasta ahí todo bien, pero a la hora de asignar dicha propiedad (en tiempo de diseño) al control, me sale la ventanita tipica con los botones de añadir y eliminar elimento, pero cuando salgo de dicha ventana no almacena los valores introducidos.
Alguien me puede echar una mano? Muchas gracias
  #2 (permalink)  
Antiguo 14/11/2005, 17:12
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Si pusieras el código que tienes, talvez alguien podría ayudarte mejor...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 15/11/2005, 02:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 16
Antigüedad: 18 años, 7 meses
Puntos: 1
Información Control Personalizado

Hola, ante todo, gracias por responder porque llevo ya un tiempo intentando encontrar una solucion. El caso es que el código no lo tengo aqui, pero te pongo uno que es mas o menos la idea que tengo de hacerlo.

Public Class CustomControl
Inherits System.Web.UI.WebControls.WebControl

Private _items as ClassItem ()
<Browsable (True), Categorie ("Appearance")> _
Public Property Items() as ClassItem ()
Get
return _items
End Get
Set (value as ClassItem ())
_items = value
End Set
end Property

Public Sub New ()
..........
End Sub

Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
.........
End Sub
End Class

Public Class ClassItem
Private _property1 as string
Public Property Property1 as string
Get
return _property1
End Get
Set (value as string)
_property1 = value
End Sub
End Property

Private _property2 as string
Public Property Property2 as string
Get
return _property2
End Get
Set (value as string)
_property2 = value
End Sub
End Property

..........................
End Class


Mi idea es que cuando yo haga click (en el explorador de propiedades) sobre la propiedad "Items" de mi control, me aparezca el editor de propiedades, hasta ahi todo bien. Pero cuando cierro el editor de propiedades no me guarda los valores de mi propiedad.
He pensado que lo mas indicado ( a lo mejor me equivoco ) sería heredar mi clase ClassItem de System.Collections.CollectionBase e implementar los métodos Add, Insert, Remove, ... ya que necesito que tambien este indizada para poder acceder a los items desde código. Pero lo he intentado obteniendo el mismo resultado.

Espero que no sea mucha parrafada y que me podais ayudar. Muchas gracias.
  #4 (permalink)  
Antiguo 15/11/2005, 14:04
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Lo que me extraña es que hagas preguntas de controles web en la sección de aplicaciones de escritorio....; me parce que tu problema radica en que no creas el objeto _items, en todo caso eso lo deberías hacer en el constructor de CustomControl:
Código:
Public Sub New ()
  _items = New ClassItem() {}
End Sub
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 16/11/2005, 03:15
 
Fecha de Ingreso: septiembre-2005
Mensajes: 16
Antigüedad: 18 años, 7 meses
Puntos: 1
Control Personalizado

Muchas gracias xknown era eso lo que me fallaba. Aunque he tenido que hacerlo con una colección me seguía fallando porque no la instanciaba en el NEW de mi control.

Si he puesto el post en este foro es porque creo que mi problema se puede trasladar perfectamente a controles windows y hay mas gente que desarrolle controles para windows que para web (o eso creo), asi que mas opciones de encontrar una solución.

De nuevo muchas gracias, no sabes el tiempo que llevo intentando solucionar esto. Un saludo.
  #6 (permalink)  
Antiguo 16/11/2005, 10:49
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Me alegra de que te haya servido, en cuanto al mensaje, no es cuestión de donde haya más gente que desarrolle determinadas cosas, sino es una cuestión de orden.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 23:46.