C# 我们可以并且如何在同一线程中打开一个新窗口并关闭上一个窗口?

C# 我们可以并且如何在同一线程中打开一个新窗口并关闭上一个窗口?,c#,wpf,winforms,C#,Wpf,Winforms,我问这个问题,因为我想知道,当我们运行应用程序时,对于start,如果我们有一个像登录窗口一样的窗口进行身份验证,在验证用户后,我们是否可以在同一线程中打开主窗口而不创建新窗口 我正试图在WPF中实现这一点,但我认为在WPF或Windows窗体中也是如此。是的,您可以。 就这么做。是的,你可以。 就这么做。这个问题没有提供足够的上下文来告诉您在您的具体情况下如何做。一般来说,您只需Close()一个窗口,构造一个新窗口并在其上调用Show() 您应该确保当窗口关闭时,应用程序.ShutdownM

我问这个问题,因为我想知道,当我们运行应用程序时,对于start,如果我们有一个像登录窗口一样的窗口进行身份验证,在验证用户后,我们是否可以在同一线程中打开主窗口而不创建新窗口

我正试图在WPF中实现这一点,但我认为在WPF或Windows窗体中也是如此。

是的,您可以。
就这么做。

是的,你可以。

就这么做。

这个问题没有提供足够的上下文来告诉您在您的具体情况下如何做。一般来说,您只需
Close()
一个窗口,构造一个新窗口并在其上调用
Show()


您应该确保当窗口关闭时,
应用程序.ShutdownMode
不会关闭您的应用程序。

这个问题没有提供足够的上下文来告诉您在特定情况下如何执行此操作。一般来说,您只需
Close()
一个窗口,构造一个新窗口并在其上调用
Show()


您应该确保当窗口关闭时,
应用程序.ShutdownMode
不会关闭您的应用程序。

当您通过IDE生成Windows窗体应用程序时,它将生成一个窗体的代码,以及在运行时显示窗体的主函数。您可以重写Main方法,使其以模式显示一个表单,然后显示下一个表单

但是有一种更简单的方法来实现你的目标:

有两个窗口:完成大部分工作的主窗口和登录屏幕

在主窗口的OnLoad事件中,创建登录窗口的实例,并在此实例上调用showmodel()


如果登录失败,则退出应用程序。

当您通过IDE生成Windows窗体应用程序时,它将生成一个窗体的代码,以及在运行时显示窗体的主函数。您可以重写Main方法,使其以模式显示一个表单,然后显示下一个表单

但是有一种更简单的方法来实现你的目标:

有两个窗口:完成大部分工作的主窗口和登录屏幕

在主窗口的OnLoad事件中,创建登录窗口的实例,并在此实例上调用showmodel()


如果登录失败,则退出应用程序。

只需调用
Close()
Show()
。好的,我试过了,它在WPF中工作,但在Windows窗体中不起作用。那么我如何在Windows窗体中实现它呢?只需调用
Close()
Show()
。好的,我试过了,它可以在WPF中运行,但在Windows窗体中无法通过这种方式运行。那么我如何在Windows窗体中实现它呢?WPF和C#并不是相互排斥的东西-@H.B.-他可能指的是XAML和C#.@ChrisF实际上,我认为WPF和Winforms在这里更有意义。是的,我在解释中把自己弄糊涂了,我试图说我认为WPF和Windows窗体中的方式是一样的。ThanksWPF和C#并不是相互排斥的东西,-@H.B.-他可能指的是XAML和C#.@ChrisF事实上,我认为WPF和Winforms在这里更有意义。是的,我在解释中把自己弄糊涂了,我想说的是,我认为WPF和Windows窗体的方式是一样的。感谢关闭第一个窗口后打开新窗口,在WPF中工作。我试过了,但在Windows窗体中不起作用。所以我写了这个问题,不管是哪种方式,我都想知道如何在Windows窗体中完成…请参阅Andrew Shepherd对Winforms的回答。在关闭第一个窗口后打开新窗口,在WPF中工作。我试过了,但在Windows窗体中不起作用。所以我写了这个问题,不管是哪种方式,我都想知道如何在Windows窗体中实现……请参阅Andrew Shepherd对Winforms的回答。