public static SplitContainer add_SplitContainer(this Control control, Orientation orientation, bool setDockStyleToFill, bool setBorderStyleTo3D) { return((SplitContainer)control.invokeOnThread( () => { var splitContainer = new SplitContainer(); splitContainer.Orientation = orientation; splitContainer.minimumSize(1); if (setDockStyleToFill) { splitContainer.Dock = DockStyle.Fill; } if (setBorderStyleTo3D) { splitContainer.BorderStyle = BorderStyle.Fixed3D; } control.Controls.Add(splitContainer); return splitContainer; })); }