Application Startup中的OpenFileDialog立即关闭

时间:2015-07-29 11:32:41

标签: c# wpf winforms

我希望在应用程序启动时加载我的解决方案中另一个项目序列化的一些文件: App.xaml.cs:

<Application (...)
         Startup="Application_Startup">
</Application>

Application_Startup方法:

private void Application_Startup(object sender, StartupEventArgs e)
    {
        (...)
        if (Environment.GetCommandLineArgs().Contains("C"))
        {
            if (Directory.Exists(Settings.Default.SavedPath) && Directory.GetFiles(Settings.Default.SavedPath, "*.extension").Length == 0)
                // do sth
            else
            {
                var result = MessageBox.Show("somerror", "Error!",
                    MessageBoxButton.YesNo, MessageBoxImage.Error, MessageBoxResult.No, MessageBoxOptions.DefaultDesktopOnly);
                if (result == MessageBoxResult.Yes)
                    OpenUserConfig();
                else
                    Shutdown();
            }
        }
(..)
}

OpenUserConfig方法:

private void OpenUserConfig()
        { 
var dial = new OpenFileDialog();

            if (dial.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
            //do sth
        }

这两种方法都在App类中,因此存在一个问题:
在弹出它们之后的几秒钟后,messageboxes和filedialogs就会消失 我找到了为messagebox找到解决方案(通过使用MessageBoxOptions.DefaultDesktopOnly),但是我无法维持OpenFileDialog我应该怎么做呢?
另外(这可能很重要 - 我不知道):我的应用程序中有SplashScreen。

1 个答案:

答案 0 :(得分:-1)

您可以使用对话框创建自己的表单并打开此表单。这是最快的方式。