如果密码错误,重新显示表单
本文关键字:显示 表单 新显示 密码 错误 如果 | 更新日期: 2023-09-27 18:11:17
我有以下代码检查密码/登录和执行其他操作:
public virtual void run()
{
if (appInitializer!=null)
{
ISecurityManager securityManager = appInitializer.SecurityManager;
if (securityManager!=null)
{
if (securityManager.DoLogin())
{
RegisterDefaultActionsGroup();
InitializePlugins(appInitializer.Plugins);
ActionsManager.Inst.ApplySecurity(securityManager, securityManager.CurrentUser);
mainForm = new MainForm();
mainForm.Text = appInitializer.ApplicationTitle;
if (appInitializer.ApplicationIcon != null)
{
mainForm.Icon = appInitializer.ApplicationIcon;
}
CorrectFormSizes(mainForm);
Context[Constants.MainForm] = mainForm;
MenuManager.Inst.FillMenu(DefaultGroups.MAIN_MENU, mainForm.MainMenu, ActionClick);
if(appInitializer.IsHaveToCreatePanelInfo) PanelInfoManager.Inst.FillInfo(mainForm);
if (appInitializer.IsHaveToCreateToolBar)
{
MenuManager.Inst.FillToolbar(DefaultGroups.MAIN_TOOLBAR, mainForm.MainToolStrip, ActionClick);
}
mainForm.MainToolStrip.Visible = mainForm.MainToolStrip.Items.Count > 0;
NotifyPluginsAboutShowing(appInitializer.Plugins);
Application.Run(mainForm);
}
}
}
}
主要方法是DoLogin
。如果返回true,则运行其他操作(填充菜单,创建工具栏等)。
问题是,如果用户输入错误的密码,那么DoLogin
返回false,应用程序正在关闭。
我想如果用户输入错误的密码,然后DoLogin
(方法内部创建的形式)再次运行。
我如何重写这段代码来实现这一点?
谢谢。
p。Run
是我自己的Framework类的成员。在Program.cs文件中有以下代码:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Framework framework = new Framework(new EArchiveInitializer());
framework.run();
}
为什么不只是while (!securityManager.DoLogin()) { }
呢?