【问题标题】:Error while opening a second window from first window the second time in Windows XP在 Windows XP 中第二次从第一个窗口打开第二个窗口时出错
【发布时间】:2018-12-06 01:51:30
【问题描述】:

我有两个窗口:Window1 更像是带有ComboBox 的启动画面来选择 excel 文件。 Window2 有各种文本框、数据网格、选项卡,它们将加载与该文件对应的数据。

现在我在Window1 中有一个名为"Go" 的Button,其代码如下:

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"Button,其代码如下:

SplashScreen NewSplashScreen = new SplashScreen();
            NewSplashScreen.Show();
            Close();

最初,Window1 将显示,并且用户单击 Go 按钮,Window2 将毫无问题地加载。然后我使用ChangeArea 按钮返回Window1,并通过在ComboBox 中选择一个项目来更改数据。然后点击Go按钮再次加载Window2,在Windows XP中会出现以下错误:

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

所以只是第二次,它抛出了那个错误。它在 Windows 10 和 8 中运行良好。但在 Windows XP 中却不行。非常感谢任何帮助。

【问题讨论】:

  • 按钮代码肯定会关闭窗口 1...
  • 你的代码调试了吗
  • 我正在 VirtualBox 中测试该程序,在普通的 Windows XP 安装上。只是想让它也与XP兼容。如何在 XP 中调试它?奇怪的是怎么第一次这么好用,第二次就报错了。
  • 代码是问题所在,可能不是 XP,这是我的猜测,虽然很难说,如果你把 try catch 放在周围,你能发现任何错误吗?

标签: c# wpf windows-xp


【解决方案1】:

感谢@mm8 为我指出解决方案。我只需要在 XAML 中为 Icon Property 选择 .png 而不是 .ico,如 here 所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2012-12-21
    • 2023-03-31
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多