First of all, the event
Form.Load
is a "fake" one: it is called after the form is constructed before all other events. You cannot solve any problems by handling it. With the same success, you can call some function in your constructor, at the very end. Probably, this even is added to support the Designer, to introduce an entry point for some custom initialization right after construction in the same style as all other user methods added through the Designer, the event handlers. I personally do not add any event handlers in Designer and do not advise doing so.
Now, your problem is not related to this. This is the popular question about form collaboration. The most robust solution is implementation of an appropriate interface in form class and passing the interface reference instead of reference to a "whole instance" of a Form. Please see my past solution for more detail:
How to copy all the items between listboxes in two forms[
^].
See all other solutions to this problem in the discussion referenced above, of course.
—SA