【问题标题】:Controlling multiple windows控制多个窗口
【发布时间】:2012-10-12 19:15:00
【问题描述】:

我目前正在尝试学习 WPF,并且正在编写一个简单的应用程序来测试我学到的一些概念。

基本上,一旦我的应用程序运行,就会出现一个窗口,充当登录屏幕。一旦用户输入他的详细信息并按下登录按钮,窗口将关闭并打开一个新窗口。

最好的方法是什么?我记得在使用 WinForms 时遇到过很多问题,尤其是在关闭和处理窗口时。

如何做到这一点?

【问题讨论】:

  • 您期待什么样的问题?根据我的经验,使用 Winforms 管理窗口非常简单。你描述的过程对我来说似乎很简单。我确信这可以在 WPF 中以同样的方式完成。

标签: c# .net wpf winforms


【解决方案1】:

一种方法是让“新的”成为应用程序的主窗口。然后在“new one”构造函数后面的代码中,您可以显示登录窗口。如果登录成功,则 newOne 启动。如果失败,则应用退出。

public NewOne()
{
  InitializeComponent();

  LoginWindow login = new LoginWindow();
  bool? result = login.ShowDialog();
  if (!result.HasValue || result.Value == false)
    this.Close();
}

【讨论】:

  • 您能否详细说明 login.ShowDialog() 部分?这将如何返回 false?
  • 我建议在 App.xaml.cs OnStartup() 方法中而不是在 MainWindow 的构造函数中运行它。如果你愿意,我今天早些时候写了一个例子here
  • 更新了我对 showDialog 结果的仓促检查。在您的 LoginWindow 中,您将执行 DialogResult = true;登录成功时,登录失败时 DialogResult=false。对话结果通过 ShowDialog() 返回。 msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
  • 2010-12-16
  • 2021-06-29
相关资源
最近更新 更多