2015-04-05 86 views
0

在紧凑框架中是否有一些相当于wpf的Application.MainWindow? 我遇到的问题是我运行了SplashScreen,它做了一些工作,我需要关闭它并打开登录页面。 我尝试关闭窗体并打开另一个窗体,但它关闭了整个应用程序,因为SplashScreen是我传递给Application.Run()方法的一个。如何更改紧凑框架中的主窗口?

我不想隐藏窗体,因为当我想要隐藏我的整个应用程序并从我的代码中调用另一个应用程序时,它会引发问题(即使我调用隐藏方法,启动屏幕似乎仍然存在),所以我需要关闭启动屏幕并打开登录屏幕

回答

-1

套装:的App.xaml(属性) - >生成操作 - > “页面”

坐落在App.xaml.cs 主()

[System.STAThreadAttribute()] 
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 
public static void Main() 
{ 
    SplashScreen ss = new SplashScreen(); 
    ss.showDialog(); 
    App app = new App(); 
    app.InitializeComponent(); 
    app.Run(); 
} 

集的App.xaml:

<Application 
    //something 
    StartupUri="MainWindow.xaml"> 
    //something 
</Application> 
2

您有几种选择。

  1. 不要将您的启动画面传递到Application.Run。发送你的主表单,然后让它创建飞溅的实例并显示并隐藏它。真的那个屏幕(或者任何关于这个问题的视图)无论如何都不应该做任何“工作” - 工作应该在别处完成,用户界面只应该通过显示状态,进度,验证用户输入等来做出反应。
  2. 使用两个连续的调用Application.Run

Application.Run(new SplashScreen()); 
Application.Run(new MainForm());