C#.netWinform中重新登入的实现机制

zmdstone 2005-10-25 12:24:53
[STAThread]
static void Main()
{
frmLogin login=new frmLogin();
login.ShowDialog();

if(login.DialogResult.Equals(DialogResult.OK))
{
login.Close();
frmMDI mdi=new frmMDI();
mdi.Tag=login.Tag;
Application.Run(mdi);
}
}
在程序运行后,点击重新登入菜单后如何实现重新登入,谢谢!急
...全文
169 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomatian 2005-10-26
  • 打赏
  • 举报
回复
当用户点确定重新登陆之后用Process,Start()启动程序,关闭已经打开的程序好了。
zmdstone 2005-10-26
  • 打赏
  • 举报
回复
Application.Exit();
Process p=new Process();
p.StartInfo.FileName=Application.ExecutablePath;
p.Start();

这样就行了
zmdstone 2005-10-25
  • 打赏
  • 举报
回复
我测试了一下,重新登入的菜单用Application.Exit()时,login.DialogResult==DialogResult.Cancel,所以不能打开主窗体,造成死循环;
用this.Close()时,要调用主窗体的Closing事件,在Closing事件中我把bNotExit=false
所以就直接退出
zmdstone 2005-10-25
  • 打赏
  • 举报
回复
非常谢谢,有没有别的方法了吗?我觉得,我个人认为这样有可能造成程序的死循环!
JasonHeung 2005-10-25
  • 打赏
  • 举报
回复
[STAThread]
static bool bNotExit = true;
static void Main()
{
while(bNotExit )
{
frmLogin login=new frmLogin();
login.ShowDialog();

if(login.DialogResult.Equals(DialogResult.OK))
{
login.Close();
frmMDI mdi=new frmMDI();
mdi.Tag=login.Tag;
Application.Run(mdi);
}
}//要真正退出前设置bNotExit =false
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧