C# 登录表单(将用户名从一个表单传递到另一个访问数据库)



>我得到了2个表单(1)登录(2)用户基本上用户在用户名和密码检查数据库中输入,如果发现他们被定向到(2)用户我想将用户名从表单(1)传递到(2),以便我可以参考并在(2)表单中显示用户帐户信息。我有这个代码,但不确定它是否正确,因为它不会显示在表单 2 上的文本框(用户名)中。

表单(1)

   public FormLogin()
    {
        InitializeComponent();
    }
        public string StrUsername{
        get { return txtboxUser.Text; }
    }
    private void btnExit_Click(object sender, EventArgs e)
    {
        this.Hide();
        Main ss = new Main();
        ss.Show();
        txtboxUser.Text = String.Empty;
        txtboxPass.Text = String.Empty;
    }

    private void btnEnter_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename=E:Graded unit DevBlackMarchBlackMarchbinDebugDataBaseBM.mdf;Integrated Security=True;Connect Timeout=30");
        SqlDataAdapter sda = new SqlDataAdapter("Select Count(*) From UserData where Username= '" + txtboxUser.Text + "' and Password = '" + txtboxPass.Text + "'", con);
        DataTable dt = new DataTable();
        sda.Fill(dt);


        if (dt.Rows[0][0].ToString() == "1")
        {
            this.Hide();
            User ss = new User();
            ss.Show();
        }
        else
        {
            MessageBox.Show("Wrong Username Password");
        }
    }

表单用户(2)

 private void btnHotelResort_Click(object sender, EventArgs e)
    {
        panelPicture.Visible = false;
        var formlogin1 = new FormLogin();
        txtUsernameUser.Text = formlogin1.StrUsername;
    }

User形式添加属性并在成功登录时进行设置:

public string UserName {get; set;} // In User form

登录后:

this.Hide();
User ss = new User();
ss.UserName = txtboxUser.Text;
ss.Show();

然后,您可以在User内访问UserName

txtUsernameUser.Text = UserName;

您的 FormUser(2) 必须是:

public FormLogin frm;
 public FormUser (FormLogin frm)
    {
        InitializeComponent();
        this.frm=frm
    }
 private void btnHotelResort_Click(object sender, EventArgs e)
    {
        panelPicture.Visible = false;
        txtUsernameUser.Text = frm.StrUsername;
    }

在您的 From1 中:

private void btnExit_Click(object sender, EventArgs e)
    {
        this.Hide();
        Main ss = new Main(this);
        ss.Show();
        txtboxUser.Text = String.Empty;
        txtboxPass.Text = String.Empty;
    }

相关内容

最新更新