enlaze a datos

03/02/2006 - 08:27 por Oscar | Informe spam
Hola

Tengo un usercontrol que enlaza todos los textbox de un formulario con
bindings a datos. Para ello utilizo la siguiente funcion recursiva

Private Sub EnlazaCampo(x...)
If xControl.Controls.Count > 1 Then
'Bucle de los controles que están dentro del actual
For Each x In xControl.Controls
EnlazaCampo(x, linea, str) ' LLAMADA
RECURRENTE
Next
end if

If TypeOf xControl Is Windows.Forms.TextBox Or TypeOf xControl
Is Windows.Forms.RichTextBox Then
xControl.DataBindings.Add(New Binding("Text",
dvw_botonera, Enlace))
ElseIf TypeOf xControl Is Windows.Forms.CheckBox Or TypeOf
xControl Is Windows.Forms.RadioButton Then
xControl.DataBindings.Add(New Binding("Checked",
dvw_botonera, Enlace))
End If
End sub

El problema que tengo que que cada vez que hace un enlace crea una nueva
instancia
New Binding("Text", dvw_botonera, Enlace))
y esto genera un consumo de memoria que se va a acumulando y que no consigo
liberar. Se os ocurre como liberar este consumo o como hacer este código más
eficiente?

Saludos, Oscar
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
03/02/2006 - 15:06 | Informe spam
Si es el unico enlace que deben tener los controles por que limpias la
coleccion DataBindings antes de setear la nueva:

xControl.DataBindings.Clear()

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Preguntas similares