将数据从子窗体传递到子窗体并从父窗体打开子窗体
问题描述:
我能够将数据从子窗体1传输到子窗体2,并且从子窗体1打开子窗体2,但是我需要打开子窗体2的主菜单栏并已经在文本框中传输了数据。数据没有到达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;
}
我需要帮助的:从主在successeful登录我需要打开HolidayApp(CHILD2)菜单栏并在文本框中提供用户详细信息。请帮助或建议。
感谢
答
如果我理解正确的代码,然后 你的财产ParamSet
不保留任何数据,而只是阅读和txtHolidaySurname.Text
所以,如果以后文本框为空,那么也许txtHolidaySurname.Text
被重置至h.ParamSet=Param
后的默认值('')。
尝试只在
private string sParam;
public string ParamSet
{
get { return this.sParam;}
set { this.sParam=value;}
}
保存的名称,然后放入文本框在将是相同的代码....
感谢的reply.I试图everyhting我想我失踪东西。我把代码放在form_Load中,但是然后表单加载数据不在那里。 – user2064345 2013-02-28 09:33:50
@ user2064345 id txtHolidaySurname.Text是否为空?你把我的代码放在Child2(HolidayApp)表单中吗? – Fabio 2013-02-28 10:46:19