>>439
多分王道だよ。MSDNでもこんな感じだった。

class Form1 : Form
{
  private static Form1 _form1Instance = new Form1();
  public static Form1 Form1Instance { get { return Form1._form1Instance; } }
  
  private Form1(){}
}

こうしておけばForm1を他で勝手に作られないし、nullを代入されることもないよ。