Hi aztec,
While you are correct that the Form's Load method is not executed at design time, both UserControls and Inherited Forms are actually being run in the designer. This means that a variety of runtime events can be ran in the designer including Load, Paint, Resize, etc. If you want to avoid referencing the object in the designer, you can use the DesignMode property. This property will be true when the control is running in the designer, and false during runtime. An example on how to use it is:
private void UserControl1_Load(object sender, EventArgs e)
{
if (this.DesignMode)
label1.Text = "Design-Time";
else
label1.Text = "Runtime";
}
Where the text of label1 on the UserControl will display if it is in the designer or not.
Let me know if this helps!
Thanks,
Scott Morrison
Program Manager
Windows Forms