If you have a Windows Form containing a SplitContainer, and you want objects (Classes, Forms, UserControls, etc.) to have access to that SplitContainer in the Form, there are several strategies you can follow.
One would be to define a Public static Property of Type SplitContainer in the MainForm:
public static SplitContainer MainFormSplitContainer { get; set; }
And then, in the Form Load Event : assign the instance of the SplitContainer in the MainForm to this static Property:
private void MainForm_Load(object sender, EventArgs e)
{
MainFormSplitContainer = splitContainer1;
}
There are other techniques you could use where, if your MainForm creates the instances of other objects (Forms, UserControls, etc.), you can inject a reference to the instance of the SplitContainer into those created objects by assigning the instance of the SplitContainer to public Properties in those objects, when you create them in the MainForm.