我能够将数据从child1传输到child2形式没问题,并从child1表单打开child2。但是我需要在主菜单栏中打开child2并在textboxes中传输数据。数据没有得到到child2然后我从父表单打开child2。 这是代码: Child1(官员登录)
public string s;
public string Param
{
get { return s; }
set { s = value; }
}
public void LoginMethod()
{
try
{
OfficerBO user = new OfficerBO ();
user.OfficerID = txtOfficerId.Text;
user.Password = hs.PassHash(txtPassword.Text);
if (user.Login())
{
s = user.LastName;
MessageBox.Show("You Loged in Successfully\n\n" + user.FirstName +
" " + user.LastName );
OnLoginSuccess(null, null);
// this.Hide();
HolidayApp h = new HolidayApp();
// Data gets transfered into Child2 (HolidayApp) form
//and dialog opens no problem
h.ParamSet = Param;
h.ShowDialog();
}
else
{
txtOfficerId.Text = "";
txtPassword.Text = "";
MessageBox.Show("Invalid details");
}
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex.Message);
}
}
Child2(HolidayApp):
public string ParamSet
{
get { return txtHolidaySurname.Text; }
set { txtHolidaySurname.Text = value; }
}
public void HolidayApp_Load(object sender, EventArgs e)
{
txtHolidaySurname.Text = ParamSet;
}
我需要帮助:在成功登录时,我需要从主菜单栏打开HolidayApp(Child2)并在文本框中显示用户详细信息。请帮忙或建议。
由于
答案 0 :(得分:0)
如果我理解你的代码那么
您的媒体资源ParamSet
没有保留任何数据,只是阅读并设置txtHolidaySurname.Text
因此,如果在Form_Load
文本框为空后,txtHolidaySurname.Text
可能会h.ParamSet=Param
重置为默认值('')。
尝试保存一个名称,然后将文本框放入Form_Load
private string sParam;
public string ParamSet
{
get { return this.sParam;}
set { this.sParam=value;}
}
在Form_Load
中将使用相同的代码....