为什么我无法关闭我的窗体?

时间:2014-02-21 06:36:25

标签: c# winforms windows-ce

我尝试关闭在Windows CE 6.0设备中运行的应用程序。 我试过下面的代码。

        System.Diagnostics.Process.Start("ShutDown", "/r");//to restart
        Process.Start("shutdown.exe", "-s");

        Application.Exit();

        System.Windows.Forms.Application.Exit();

        Process procs = Process.GetCurrentProcess();
        procs.Kill();

        this.Close();

以上所有代码在调试和应用程序执行Application.Exit();时关闭时正常工作。但是当我将代码编译成 autorun.exe (可执行文件)并运行时,屏幕会在执行同一行时冻结。

请指导我这个问题。

  public Form1()
    {
        int i = AddFontResource("\\Flash Disk\\Arial Unicode MS.TTF");
        int c = AddFontResource("\\Flash Disk\\Devanagari_new.TTF");
        int d = AddFontResource("\\Flash Disk\\Mangal.TTF");
        InitializeComponent();
    }

1 个答案:

答案 0 :(得分:0)

如果您使用自己的设置设置字体,则会出现导致挂起的已知错误。注释掉你的字体设置代码,看它是否正常运行和关闭。如果是的话,那就是设置字体的错误。顺便说一下,确保您的目标系统具有字体......这可能是问题之一。

获取Debugger并使用它来分析在关机期间导致挂起的原因。它使用起来相当简单。或者这个Debugger。我不知道你的完整设置。

如果您不确定,this article将成为您开始调试的非常好的指南。

另外,如果您还没有这样做,请将代码包装到__try{}__except{}。可能存在内存泄漏,但在我们从其中一个来源看到一些信息之前我们不会知道。