将值从登录表单传递到主表单 [英] Pass a value from login form to main form

查看:32
本文介绍了将值从登录表单传递到主表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个登录屏幕,我需要将用户名传递给我的主表单(用于获取权限等).这是我的代码:

I have a login screen and I need to pass username to my main form (for getting permissions etc.). Here is my code:

//Login
private void button1_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(txtUser.Text))
        {
            //Show warning
        }
        else if (string.IsNullOrEmpty(txtPass.Text))
        {
            //Show warning
        }

        using (DataTable dt = LookupUser(txtUser.Text)) //Look into SQL data table for username and password
        {
            if (dt.Rows.Count == 0)
            {
                //Show warning
            }
            else
            {
                string dbPassword = Convert.ToString(dt.Rows[0]["pass"]);
                string appPassword = Encrypt(txtPass.Text);
                if (string.Compare(dbPassword, appPassword) == 0)
                {
                    //I need to pass username value to myForm...
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    //Show warning
                }
            }
        }

//Program.cs
static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        DialogResult result;
        using (var loginForm = new Login())
            result = loginForm.ShowDialog();
        if (result == DialogResult.OK)
        {
            Application.Run(new myForm());
        }
    }

将值从 loginForm 传递到 Program.cs 和 myForm 的最佳方法是什么?

What would be the best way to pass value from loginForm to Program.cs and myForm?

推荐答案

在登录表单中

public string UserName {get; private set;}

if (string.Compare(dbPassword, appPassword) == 0)
                {
                    UserName = txtUser.Text;
                    //I need to pass username value to myForm...
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    //Show warning
                }

在主要

    DialogResult result;
    using (var loginForm = new Login())
        result = loginForm.ShowDialog();
    if (result == DialogResult.OK)
    {
        var username = loginForm.UserName;
        Application.Run(new myForm(username));
    }

这篇关于将值从登录表单传递到主表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆