
Tardé mucho en encontrar la solución, agradezco en parte a éste sitio por darme una pista http://social.msdn.microsoft.com/Forums/es-ES/770bb15e-ac4f-4cfa-bba3-02b08c29f668/no-se-control-systemcomponentmodelwin32exception-error-al-crear-identificador-de-ventana.
El caso es que si nuestro programa carga muchísimas veces la misma ventana (aunque liberemos recursos) .net tarde o temprano falla, lo mejor es cargar la ventana (no importa que sea en un panel) y luego enviar los datos a ella mediante una función, en lugar de recargar una y otra vez la ventana con los nuevos datos.
Buenos dies;
ResponderBorrartengo el mismo problema; no entiendo como lo haces, ¿podrias enviar un codigo de ejemplo?
Gracias
Básicamente lo que vas a hacer es lo siguiente:
BorrarDe manera global a tu formulario, desde el cual vas a llamar a otro creas una variable como la siguiente:
Private frmemployeewindow As frmEmployee = Nothing
donde frmEmployee es el tipo de ventana a abrir (en este caso los empleados a mostrar), recuerda, no vamos a estar creando y destruyendo la ventana por cada vez que lo necesitemos, después de muchas veces vb.net da error y nos cierra la aplicación, lo que vamos a hacer es crear una ventana y reutilizarla tantas veces como sea posible, y así resolver el problema System.ComponentModel.Win32Exception
Ahora, hay que iniciar la variable la primera vez que la llamemos (esto va dentro de tu botón mostrar empleados)
If IsNothing(frmemployeewindow) = True Then
frmemployeewindow = New frmEmployee()
End If
If frmemployeewindow.Visible = False Then
frmemployeewindow.Owner = Me
frmemployeewindow.Visible = True
frmemployeewindow.ShowEmployees()
End If
Al final, como puedes ver lo único que hay que hacer es invocar la función ShowEmployees(), pero ya no creamos la ventana una y otra vez, solo la reutilizamos y asi evitamos que vb.net irremediablemente se coma toda la memoria (aunque la liberemos), espero te sirva el truco.