>我得到了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;
}