首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不增加c#实例的情况下实现登录表单和主表单

如何在不增加c#实例的情况下实现登录表单和主表单
EN

Stack Overflow用户
提问于 2013-01-17 17:30:59
回答 1查看 1.8K关注 0票数 1

我正在创建登录按钮单击时的主窗体的实例,并再次创建注销按钮单击时的登录窗体的实例。我的代码是

代码语言:javascript
运行
复制
      if ((txtUsrNm.Text == "Admin") && (txtPswd.Text == "Admin"))
        {
            mainForm mainFm = new mainForm();
            mainFm.userNam = txtUsrNm.Text;
            mainFm.pasWrd = txtPswd.Text;
            mainFm.Show();
            this.Hide();
        }
         else
        {
            MessageBox.Show("Invalid Username or Password.");
        }

然后再次进入注销按钮

代码语言:javascript
运行
复制
        this.Hide();
        loginFrm lgn = new loginFrm();
        lgn.Show();

如果我尝试关闭而不是隐藏,整个应用程序将关闭。通过这样做,Application.OpenForms计数在每次登录和注销操作时都会增加。如何在windows应用程序中实现登录和注销操作。有没有其他的想法来实现这个操作。感谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 17:32:16

在调用Application.Run()之前,您需要将登录部分放在Program.cs中,例如:

代码语言:javascript
运行
复制
 if (new frmLogin().ShowDialog() == DialogResult.OK)
 {
     Application.Run(new frmMain());
 }

然后在登录表中输入登录码。用户登录后,表单登录将关闭,并将设置this.dialogresualt = dialogresult.ok;例如:

代码语言:javascript
运行
复制
if (txtUserName.Text == "blah"
      && txtPassword.Text == "blah")
   {
     txtPassword.BackColor = Color.YellowGreen;
     txtUserName.BackColor = Color.YellowGreen;
     this.DialogResult = DialogResult.OK;
   }
   else
   {
     txtPassword.BackColor = Color.Salmon;
     txtUserName.BackColor = Color.Salmon;
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14375892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档