error al cerrar formulario desde Load

25/04/2006 - 10:12 por aydai | Informe spam
Hola a todos!!!

A ver si me podéis ayudar de nuevo, igual es una tontería pero no consigo
sacarlo.

En el evento Load de un formulario al no cumplirse una condición debo cerrar
el formulario, para ello utilizo un Me.Close() pero el código me casca y me
sale este error "No se puede llamar al valor Close() durante
CreateHandle()".

¿Cómo podría cerrar el formulario?

Gracias por adelantado.

Juanje.
 

Leer las respuestas

#1 aydai
25/04/2006 - 12:58 | Informe spam
Hola a todos de nuevo!!!

He encontrado un par de posibles soluciones para mi problema, os las comento
por si a alguien le puede servir de ayuda:

1) Las condiciones que hayas puesto en el Load del formulario que quieres
abrir pues las compruebas antes del Show que abre el formulario, si alguna
condición no se cumple no ejecutas el Show.

2) Hay un evento de formulario que es el VisibleChanged, en éste sí que se
puede utilizar el Me.Close. Entonces la solución sería crearte una variable
global booleana, y en el Load cuando quieras cerrar el formulario pues pones
la variable a True y en el código del VisibleChanged poner que si la
variable es igual a True entonces que cierre el formulario.

Dim errorcargar As Boolean
...
...
...
Private Sub formulario_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
...
...
errorcargar = False
Opacity = 0
...
...
If DSPaises.Tables(Tabla2).Rows.Count = 0 Then
errorcargar = True
Msgbox("ERROR AL CARGAR EL FORMULARIO.")
Exit Sub
End If
...
...
End sub
...
...
...
Private Sub frm_man_mto_proveedores_VisibleChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged
If errorcargar = True Then
Me.Close()
Else
Opacity = 1
End If
End Sub

Esto es lo que he encontrado, aunque si alguien conoce alguna otra solución
mejor pues que la comente también.

Un saludo grupo!!!

Juanje.



"" escribió en el mensaje
news:
Hola a todos!!!

A ver si me podéis ayudar de nuevo, igual es una tontería pero no consigo
sacarlo.

En el evento Load de un formulario al no cumplirse una condición debo
cerrar el formulario, para ello utilizo un Me.Close() pero el código me
casca y me sale este error "No se puede llamar al valor Close() durante
CreateHandle()".

¿Cómo podría cerrar el formulario?

Gracias por adelantado.

Juanje.

Preguntas similares