0

我为我的 Windows 窗体应用程序放置了一个非常简单的启动画面,只有一个 PictureBox。表单的透明度键和背景颜色设置为相同。我将图片框的图像设置为动画 gif 文件。它在我的一台机器上运行良好。

在某些机器上,大约一秒钟的动画后,我会在完全随机的瞬间在图片框上看到带有红色 X 的错误图像。一旦我得到错误,相同的红色 X 会随机出现在按钮上。

编译生成的exe文件运行时,抛出JIT Compilation错误信息,甚至错误对话框的按钮变成红色X。这里是错误详情。

有关调用即时 (JIT) 调试而不是此对话框的详细信息,请参阅此消息的末尾。

(这里我就不贴代码了,因为太简单太笨了)

** * **异常文本** * **** System.Runtime.InteropServices.ExternalException (0x80004005):GDI+ 中出现一般错误。在 System.Drawing.Image.SelectActiveFrame(FrameDimension 维度,Int32 frameIndex) 在 System.Drawing.ImageAnimator.ImageInfo.UpdateFrame() 在 System.Drawing.ImageAnimator.UpdateFrames() 在 System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe ) 在 System.Windows.Forms.Control.WmPaint(Message&m) 的 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 层)
在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 在 System.Windows .Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** * **加载的程序集** * ****mscorlib 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 (RTMRel.030319-0100) 代码库:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ----- ---------------------------------- ERingWizzard 程序集版本:1.0.0.0 Win32 版本:1.0.0.0 代码库: file:///B:/BuildersAvenue/Wizzard/ERingWizzard/ERingWizzard/bin/Debug/ERingWizzard.exe --------------------------- ------------- System.Windows.Forms 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net/程序集/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ------------------------- --------------- System.Drawing 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel CodeBase:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------- ------------------ 系统组装版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net /assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll -------------------------------- -------- System.Configuration 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 (RTMRel.030319-0100) 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/ System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll --------------------------------- ------- System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel0__b03f5f7f11d50a3a/System.Drawing.dll ----------------------------------------系统汇编版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll --- ------------------------------------- System.Configuration 程序集版本:4.0.0.0 Win32 版本:4.0 .30319.1 (RTMRel.030319-0100) 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---- ------------------------------------ System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0。 30319.1 构建者:RTMRel0__b03f5f7f11d50a3a/System.Drawing.dll ----------------------------------------系统汇编版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll --- ------------------------------------- System.Configuration 程序集版本:4.0.0.0 Win32 版本:4.0 .30319.1 (RTMRel.030319-0100) 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---- ------------------------------------ System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0。 30319.1 构建者:RTMRel1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ------------ ---------------------------- System.Configuration 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 (RTMRel.030319-0100)代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ------------- --------------------------------------- System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel1 构建者:RTMRel 代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ------------ ---------------------------- System.Configuration 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 (RTMRel.030319-0100)代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ------------- --------------------------------------- System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRelfile:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll --------------- ------------------------- System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRelfile:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll --------------- ------------------------- System.Xml 程序集版本:4.0.0.0 Win32 版本:4.0.30319.1 构建者:RTMRel

代码库:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

** * **即时调试** * ****要启用即时 (JIT) 调试,此应用程序或计算机 (machine.config) 的 .config 文件必须在 system.windows.forms 部分中设置 jitDebugging 值。还必须在启用调试的情况下编译应用程序。

例如:

启用 JIT 调试后,任何未处理的异常都将发送到计算机上注册的 JIT 调试器,而不是由该对话框处理。

有没有办法解决这个问题,或者这是一个愚蠢的问题?我用谷歌搜索并环顾四周,遇到这个问题的人都没有合适的解决方案:(

附加信息:gif图像是非矩形的,这就是为什么我需要使用表单的透明键设置为与其背景相同..

这是代码..

    public MainForm()
    {
        this.SuspendLayout();
        this.Hide();

        Thread t = new Thread(new ThreadStart(SplashScreen));

        t.Start();

        InitializeComponent();

        Thread.Sleep(2000);

        ticker.Interval = 1800000;
        ticker.Start();

        t.Abort();

        this.Show();
        this.ResumeLayout();
    }

    private void SplashScreen()
    {
        Application.Run(new Splash());
    }
4

0 回答 0