我正在考虑编写一个WPF程序,该程序在应用程序启动时需要登录名和密码。 我曾想过使用两个文本框作为登录表单的小表单。用户将不得不填写他的详细信息,然后应用程序的主要形式将被解锁。 你将如何解决这个问题?当主窗体“锁定”时显示小窗体
谢谢您的回答,daemonsvk
我正在考虑编写一个WPF程序,该程序在应用程序启动时需要登录名和密码。 我曾想过使用两个文本框作为登录表单的小表单。用户将不得不填写他的详细信息,然后应用程序的主要形式将被解锁。 你将如何解决这个问题?当主窗体“锁定”时显示小窗体
谢谢您的回答,daemonsvk
这是Window.ShowDialog()调用标准行为。其他窗口将被禁用。
我会首次启动您的登录页面并验证用户,如果他们的详细信息是正确的,请隐藏登录表单并向您显示其他表单。
if(user is authed)
{
this.Hide(); //Hide the login form
mainAppForm.Show(); //or Form.ShowDialog(); //Shows the main form
}
做到这一点的最简单的方式是首先显示(使用ShowDialog
,哪些块即等待直到形式正在继续的下一行代码之前关闭)登录表单。如果登录成功,则处理登录表单,然后显示主表单;如果登录失败,则结束应用程序。
但是,如果您希望您的主表单在登录表单下方可见(一个不合理的要求),那么您需要先显示主表单,然后从方法显示登录表单(模态地)主要形式。在WinForms中,这需要一些破解,因为无法从主窗体的构造函数或其Load事件中显示登录窗体(因为当登录窗体出现时,主窗体将不可见)。
WPF现在可以处理这个更好。
你目前有什么代码?这听起来很像一个csc 102作业分配 – Woot4Moo 2010-06-17 17:30:58
窗口“锁定”下面窗口的标准术语是“模式”,如在“打开模式对话框”中。相反是无模式的。 – Jacob 2010-06-17 17:33:55