你可以尝试在不同的线程中调用Application.Run,但是用多线程处理这种情况比较危险,如果各个窗口之间有交互的话,很可能会由于线成问题导致控件不能正常工作。
建议把主窗口设置称为一个始终隐藏的没有任何控间的fake窗口,这样可以避免资源浪费,同时其余窗口可以单独操作,不会导致程序退出。

解决方案 »

  1.   

    好像没你这么做的,修改方法:
    那你还不如把所有的窗体都设为静态的,例如:
    public class frmMember
    {
        public static form1 myform1;
        public static form2 myform2;
    ……
    }
    那么在哪儿关闭任何一个窗体不会影响其它窗体,但要修改main函数,以防止关闭一个窗口,整个程序退出。