重新启动应用程序并重定向到 C# 中的特定表单
Posted
技术标签:
【中文标题】重新启动应用程序并重定向到 C# 中的特定表单【英文标题】:restart application and redirec to a specific form in C# 【发布时间】:2016-09-20 09:48:08 【问题描述】:我正在使用 C# 开发一个 Windows 应用程序。
它有 4 种形式。
-
启动画面,
登录屏幕,
主菜单和
用户详细信息表单
显示在主菜单表单内,
还有一个按钮名称为“注销”。我尝试在注销按钮内使用Application.restart()
方法,但它会在登录屏幕之前加载启动屏幕。
我关心的是当我单击注销按钮时如何显示登录屏幕页面。
注意:
userdetails ud = new userdetails();
ud.ShowDialog();
用于在主菜单表单中显示用户详细信息表单的代码。
谢谢 伊山
【问题讨论】:
在很大程度上取决于您构建登录的方式,但是,通常情况下,恕我直言,您只会使登录无效并重新显示登录屏幕,并且在打开下一个表单成功时,失败要么重试,要么退出 【参考方案1】:你应该做的是创建一个安全管理器类来保存用户凭据/安全令牌,任何需要安全检查的请求都必须通过你的安全管理器。在此类上,当没有详细记录时发出安全请求时会触发一个事件,
例如
public class SecurityMonitor
public string Usernameget;set;
public string Passwordget;set;
public event LoginEventHandler LoginRequired;
public bool CheckSecurity()
if(Username==null)
LoginRequired?.Invoke(this,new LoginEventArg());
//wait logic here
return CheckAccess();
public void Logout()
Username= null;
Password= null;
然后在你的主窗体中你有
SecurityMonitor security = new SecurityMonitor();
security.LoginRequired += (s,e)=> ud.ShowDialog();
这将在需要凭据时将用户重定向到登录屏幕,而无需重新启动应用程序
【讨论】:
以上是关于重新启动应用程序并重定向到 C# 中的特定表单的主要内容,如果未能解决你的问题,请参考以下文章
Django Createview根据外键的id保存表单并重定向到页面