Me temo que hay algo obvio en mi código, pero me he encontrado con una situación en la que el evento Form.Load
no se activa cuando creo y muestro mi formulario.Evento Form.Load no se activa, formulario que muestra
El formulario no está subclasificado (como he visto algunos problemas con eso en algunas búsquedas), y no me arrojarán ningún error cuando paso por el código en el depurador.
Tengo un punto de interrupción establecido en la función de carga de formulario creada por IDE (que tiene el sufijo de firma Handles MyBase.Load
) pero nunca se alcanza el punto de interrupción y el formulario se visualiza y funciona.
El formulario se pasa tres argumentos en el constructor pero se llama a la función IntializeComponent()
antes de que se haga cualquier otra cosa.
Código:
Public Sub New(ByVal argA As Object, ByVal argB As Object, ByVal mode As FormMode)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Other code here,
' No errors generated
'
End Sub
La función de carga del formulario es el siguiente, (pero esto nunca se ejecuta realmente como el evento no se dispara).
Código:
Private Sub frmInstrumentEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not argA Is Nothing Then ' argA set in constructor
' Operations using argA
End If
End Sub
debo añadir que estoy usando alguna de enlace de datos con algunos controles y el objeto argA
, pero si esto se produce un error que pensé que habría visto este (I ha definido la configuración CLR Execpetions a Thown en la ventana depurador> excepciones)
¿Alguna idea de por qué esto podría estar ocurriendo?
Si no puede obtener una excepción, puede deberse a este problema http://stackoverflow.com/questions/4933958/vs2010-does-not-show-unhandled-exception-message-in-a-winforms-application -on-a, en cuyo caso la solución rápida es ejecutar SIN depurar y ver qué pasa. – AndyClaw
Me he encontrado con esta situación dos veces con la misma causa. Mi objeto tiene una propiedad DateTime configurada en DateTime.MinValue cuando enlace esa propiedad a DateTimePicker, falla silenciosamente y no ejecuta el controlador de eventos Form Load. La solución para mí fue establecer el valor predeterminado de la propiedad en DateTimePicker.MinimumDateTime. La diferencia entre los valores es DateTime.MinValue = 01/01/0001 y DateTimePicker.MinimumDateTime = 1/1/1753 – James
Esto me salvó el día.Gracias – zidane