C# 在Windows XP中,从第一个窗口第二次打开第二个窗口时出错

C# 在Windows XP中,从第一个窗口第二次打开第二个窗口时出错,c#,wpf,windows-xp,C#,Wpf,Windows Xp,我有两个窗口:Window1更像是一个启动屏幕,带有一个选择excel文件的组合框窗口2有各种文本框、数据网格和选项卡,它们将加载与该文件对应的数据 现在我在窗口1中有一个名为的按钮“Go”,它有以下代码: switch (ComboBoxAreaList.Text) { case "Area1": Properties.Settings.Default.FileLocation = "C:\\Pro

我有两个窗口:
Window1
更像是一个启动屏幕,带有一个选择excel文件的
组合框<代码>窗口2
有各种文本框、数据网格和选项卡,它们将加载与该文件对应的数据

现在我在
窗口1
中有一个名为
按钮
“Go
”,它有以下代码:

switch (ComboBoxAreaList.Text)
            {
                case "Area1":
                    Properties.Settings.Default.FileLocation = "C:\\ProgramName\\Area1.xlsx";
                    break;
                case "Area2":
                    Properties.Settings.Default.FileLocation = "C:\\ProgramName\\Area2.xlsx";
                    break;
                case "Area3":
                    Properties.Settings.Default.FileLocation = "C:\\ProgramName\\Area3.xlsx";
                    break;
                default: MessageBox.Show("Error!");
                    break;
            }

            MainWindow AreaDataWindow = new MainWindow();
            AreaDataWindow.Show();
            Close();
我在
Window2
中有一个名为
按钮
“ChangeAreaData”
,其代码如下:

SplashScreen NewSplashScreen = new SplashScreen();
            NewSplashScreen.Show();
            Close();
最初,
Window1
将显示,用户单击
Go
按钮,
Window2
将无任何问题加载。然后我使用
ChangeArea
按钮返回到
Window1
,并通过在
组合框中选择一项来更改数据。然后通过单击“转到”按钮再次加载
Window2
,我将在WindowsXP中得到以下错误:

AppName: area logs status.exe    AppVer: 1.0.0.0     ModName: kernel32.dll
ModVer: 5.1.2600.7475    Offset: 00034f03

所以第二次,它抛出了这个错误。它在Windows10和Windows8中运行良好。但不是在WindowsXP中。非常感谢您的帮助。

感谢@mm8为我指出了解决方案。我只需要为XAML中的图标属性选择.png而不是.ico,如前所述

按钮代码肯定会关闭窗口1…您是否调试了代码?我正在VirtualBox中测试该程序,安装在普通的Windows XP上。只是想让它与XP兼容。我如何在XP中调试它?奇怪的是,它怎么能第一次工作得这么好,第二次却抛出了一个错误。问题出在代码上,可能不是XP,我猜,尽管很难说,如果你把try-catch放在周围,你能捕捉到任何错误吗?你读过这篇文章吗?