Contenedor controles de usuario

19/04/2006 - 00:47 por Javier Càceres | Informe spam
Hola

Tengo un control de usuario en una aplicación Windows que consiste en un
textbox y un label; necesito crear dinámicamente varios de estos controles y
agregarlos a un contenedor; antes lo habia hecho con un tab page control
agregandoles pages dinámicamente y funciona Ok; con este control
personalizado que hice lo trate de agregar a un listbox pero solo se puede
observar el primero que agregue y los otros no se ven, a pesar que si reviso
la colección de items del listbox allí aparece; he probado con un control
container genérico y pasa lo mismo, solo se ve el primero, los otros no.
Saben de algún contenedor que me permita agregar y mostrar mis controles de
usuario?

Saludos desde Colombia!
Javier

Preguntas similare

Leer las respuestas

#6 Javier Càceres
19/04/2006 - 19:36 | Informe spam
Hola Jesus

Listo, quedó así:

For Each nodeValue As XmlNode In xmlValueList
'TODO: Encapsular cargue de items en un control
'contenedor
Dim ctrl As New ctrlParam
xmlAtt = nodeValue.Attributes("Name")
ctrl.Name = xmlAtt.Value
ctrl.ParamName = xmlAtt.Value
xmlAtt = nodeValue.Attributes("Value")
ctrl.ParamValue = xmlAtt.Value
If (lsbParams.Controls.Count > 0) Then
Dim x, y As Integer
y = ctrl.Height * lsbParams.Controls.Count
ctrl.Location = New Drawing.Point(x, y)
End If
lsbParams.Controls.Add(ctrl)
Next

Me parece muy buena la idea de encapsular el cargue tomando como parámetro
el XML; pero lo implementaré después (como siempre, el tiempo en contra de
uno!)

Saludos desde Colombia Y Mil gracias
Javier

"Jesús López" wrote:

Se me ocurre que podrías crear otro user control que actuara como contenedor
especializado de ese otro ctrlParam. Así, tu aplicación ganaría en
encapsulación y el formulario "anfitrión" quedaría más limpio y sencillo de
programar.

El nuevo user control podría tener propiedades y métodos para cargar los
datos, por ejemplo:

Public Sub LoadData( XmlNodeList Data )

Que creara los controles y estableciera sus valores.

También podría tener un método para obtener los datos:

Public Function GetData() As El tipo que mejor te venga (por ejemplo un
string con un fragmento XML)

Saludos:

Jesús López



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida