我需要有关如何将值从MDI父表单传递给子表单的帮助。 在我的父表单中,我有两个单选按钮,MALE和FEMALE,我将选择其中一个,单击按钮将指定的值发送到子表单。 请参阅下面的代码:
父母表格:
private void ButtonSelect_Click(object sender, EventArgs e)
{
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild childform = new frmChild ();
childform.GetGender = gender;
frmChild newMDIChild = new frmChild ();
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
else if (this.rbFemale.Checked)
{
string gender= "FEMALE";
frmChild childform = new frmChild ();
childform.GetGender = gender;
frmChild newMDIChild = new frmChild ();
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
}
儿童表格:
public string GetGender { get; set; }
private void frmChild_Load(object sender, EventArgs e)
{
if (GetGender == Convert.ToString("MALE"))
{
/*my code here*/
}
else if (GetGender == Convert.ToString("FEMALE"))
{
/*my code here*/
}
MessageBox.Show(GetGender);
}
我还暂时放了一个MessageBox,让我知道它是否真的从父窗体中获取值,但它只返回空。
答案 0 :(得分:1)
您正在创建两个childForm实例,一个用于分配性别,另一个用于显示性别。您只需要一个实例,更改if else语句
...
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild newMDIChild = new frmChild ();
newMDIChild.GetGender = gender;
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
...