Form.Load event not firing, form showing

I had a similar problem. On opening the form for the first time, the load event would not be tiggered but on opening it the second time, all would be well. The problem tuned out to be one of my text boxes which was bound to a field that I had deleted from the database (sql server - I was using datasets, tableadaptors and bindingsources in a fairly standard way).

Make sure that all the controls on your form that are databound have fields that exist in the dataset and that the dataset is an accurate reflection of the underlying database table (the easiest was to do this last bit is to use the "Configure data source with wizzard" button on the data sources window (menu -data - show data sources) and remove the table. Then use it again to add the table back- this should make sure all the data matches.

Hope this helps.


I just had a similar issue (it was in Shown event, not Load, but the root cause is the same). The reason was hidden deep in one of the ancestors - there was an unhandled NullReferenceException thrown and this exception was somehow "muted".

I found it after extensive debugging with F11.

But... when writing this answer I found this post on SO

Just add Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException) in your Main() method.

If you're using a 64-bit machine, it provides you with the solution (it worked in my case, too).


OK I had the SAME problem (I think) and the clues here helped. It was databinding (sort of)

I had properties of some controls bound to settings and when I delete these settings the form load event stopped running. Removed the bindings and now it is running again.