我正在考虑编写一个需要在app启动时登录和密码的WPF程序。 我想到了带有两个文本框作为登录表单的小表单。用户必须填写他的详细信息,然后应用程序的主要形式将被解锁。 你将如何解决这个问题?
感谢您的回答,daemonsvk
答案 0 :(得分:2)
这是Window.ShowDialog()调用的标准行为。其他窗口将被禁用。
答案 1 :(得分:0)
我会在您的登录页面进行初始启动并对用户进行身份验证,如果他们的详细信息正确,请隐藏登录表单并向您显示其他表单。
if(user is authed)
{
this.Hide(); //Hide the login form
mainAppForm.Show(); //or Form.ShowDialog(); //Shows the main form
}
答案 2 :(得分:0)
执行此操作的最简单方法是首先显示(使用ShowDialog
,哪些块,即等待表单关闭,然后再继续下一行代码)登录表单。如果登录成功,您将处理登录表单,然后显示您的主表单;如果登录失败,则结束应用程序。
但是,如果您希望主表单在登录表单下方可见(这不是一个不合理的要求),那么您需要首先显示主表单,然后从一个方法中显示登录表单(模态)主要形式。在WinForms中,这需要某种黑客攻击,因为您无法从主窗体的构造函数或其Load事件中显示登录表单(因为当登录表单出现时,主窗体将不可见)。
WPF现在可以更好地处理这个问题了。