微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅当用户从第二个表单成功登录后,才如何显示主表单?

如何解决仅当用户从第二个表单成功登录后,才如何显示主表单?

我正在尝试制作一个验证用户登录的表格。我希望先显示该表单,然后,如果用户登录成功,则应显示主表单。

这是我尝试过的(第二种形式):

 private void button1_Click(object sender,EventArgs e)
    {
        string funame = "thename";
        string dep = "thedep";
        string unm = "theusername";
        string ups = "thepassword";

        User cs = new User(funame,dep,unm,ups);

        if (cs.validateLogin(unm,ups));
        {
            MessageBox.Show("Welcome " + funame + " of " + dep);

            frmpurchasediscountedItem fpd = new frmpurchasediscountedItem();
            fpd.Show();
        }

        

    }

问题在于主要表单总是首先弹出。

应该是这样的:

*然后弹出第二个表单,如果用户被验证,则会弹出主表单

解决方法

这是一种解决方法。

您无需在export default { data: () =>({ data1: [],data2: [],lastData: [] }),mounted() { asynchronous1(val,(data)=>{ return this.data1 = data }) asynchronous2(val,(data)=>{ return this.data2 = data }) function lastFuction() { this.lastData = this.data1.concat(this.data2) } },} 中更改“开始表格”。您可以在开始时打开主窗口并将其隐藏。然后创建一个Login实例并显示它。

Program.cs

如果单击public partial class MainForm : Form { public MainForm() { InitializeComponent(); Login login = new Login(this); // hide MainForm this.Hide(); // show Login login.ShowDialog(); } } 中的登录按钮,则显示Login form并关闭MainForm

Login form

此外,如果单击public partial class Login : Form { private MainForm mainform = null; public Login(MainForm main) { InitializeComponent(); // get MainForm instance this.mainform = main; } // if success bool success = true; private void btnLogin_Click(object sender,EventArgs e) { if(success) // check login here { // show main form mainform.Visible = true; // close login form this.Close(); } } } 右上角的X button,它还将显示隐藏的Login form(如果用户不想登录,请关闭应用程序)。我们可以通过覆盖MainForm来避免这种情况。

WndProc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。