描述如下:自定义了一个退出按钮B,发现每次按了以后所有的窗口都关闭了,但是程序没有结束,任务管理器里一直有进程。另外,我这个程序还有一个按钮A,按了之后执行一个C++编写的DLL里的函数,问题是按了A之后就会出现上述情况。如果不按A直接按B就没有那种情况。怎么解决呢。

解决方案 »

  1.   

    如果不按A直接按B就没有那种情况
    不按A按B就关闭连进程也关闭是吗?
    是:A调用到 DLL资源未被释放,所以关闭后进程还存在!
    试试Application.Exit();不是就不知道
      

  2.   

    就是你说的情况,我也试过Application.Exit(); 没用的。
      

  3.   

    是这样的,在program.cs里面的main函数,首先启动一个窗口Form1,Form1工作完后将启动Form2,也就是B所在的窗口。然后mian就结束了。
      

  4.   

    我的意思是说然后main后面就没了。上代码吧
    static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Form1 f1 = new Form1();
                Application.Run(f1);
                if (f1.client.success == true)
                {
                    Application.Run(new Form2(f1.client));
                }            
               
            }
      

  5.   

    这样启动Form1 然后根据条件启动Form2有问题吗
      

  6.   

    不过你这样写得关闭Form1 后才能执行
    if (f1.client.success == true) 
                { 
                    Application.Run(new Form2(f1.client)); 
                } 
    上面代码
      

  7.   

    嗯,可以肯定的是Form2确实执行了