static class Program
{
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);        int 方案号 = 1;
        switch (方案号)
        {
            case 1:
                Application.Run(new Form1()); break;
            case 2:
                Application.Run(new Form2()); break;
            case 3:
                Application.Run(new Form3()); break;
            default:
                Application.Run(new Form1()); break;
        }
    }
}

解决方案 »

  1.   

    消息循环是用:Application.DoEvent();
      

  2.   

    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
        .....
        .....
     //这里有个委托
      s.OnStateChange += new DAccEvents_OnStateChangeEventHandler(s_OnStateChange);
          
       //一直消息循环让上面的事件发生
       // 但是我要在别的地方用这个方法 ,所以想把Application.Run()换成别的 ,
       //我用另外一个线程来监控他说60秒没反应 COM 口之类的错误               
        Application.Run(new Form1());        
        }
    }
      

  3.   

    你可以把这个代码移到 Form1() 中去。
     s.OnStateChange += new DAccEvents_OnStateChangeEventHandler(s_OnStateChange);