C#将MDI父窗体的值传递给子窗体
问题描述:
我需要帮助,了解如何将MDI父窗体的值传递给子窗体。 在我的父母形式中,我有两个单选按钮,男性和女性,我会选择其中一个,然后通过单击按钮将分配的值发送给子窗体。 请参阅下面我的代码:C#将MDI父窗体的值传递给子窗体
父窗体:
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);
}
我也暂时把一个消息让我知道,如果它真的从父获取价值表单,但它只返回空。
答
您建立childForm的两个实例,一个用于分配的性别和其他用于显示它。您只需要一个实例,更改您的if else语句
...
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild newMDIChild = new frmChild();
newMDIChild.GetGender = gender;
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
...
THANK YOU !!!我没有注意到这一点。现在我在嘲笑自己。再次感谢! – itsmePJ