メインフォームを非表示でアプリケーションを立ち上げるには、SetVisibleCore を オーバーライドして、初回の引数を false にします。 Load イベントが起きなくなるので、HandleCreated イベントなどで代用するといいでしょう。
public partial class MainForm : Form
{
private bool firstTimeVisible = true;
public MainForm() {
InitializeComponent();
}
protected override void SetVisibleCore(bool value) {
if (firstTimeVisible) {
firstTimeVisible = false;
value = false;
CreateHandle();
}
base.SetVisibleCore(value);
}
}