C#将值从MDI父窗体传递给子窗体
我需要关于如何将值从MDI父窗体传递到子窗体的帮助。 在我的父窗体中,我有两个单选按钮,男性和女性,我将从中选择一个,通过单击按钮将分配的值发送到子窗体。 请参阅下面我的代码: 父窗体:C#将值从MDI父窗体传递给子窗体,c#,forms,mdi,C#,Forms,Mdi,我需要关于如何将值从MDI父窗体传递到子窗体的帮助。 在我的父窗体中,我有两个单选按钮,男性和女性,我将从中选择一个,通过单击按钮将分配的值发送到子窗体。 请参阅下面我的代码: 父窗体: private void ButtonSelect_Click(object sender, EventArgs e) { if (this.rbMale.Checked) { string gender= "MAL
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,让我知道它是否真的从父窗体获取了值,但它只返回空值
我还尝试过,您正在创建两个childForm实例,一个用于指定性别,另一个用于显示。您只需要一个实例,请更改if-else语句
...
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild newMDIChild = new frmChild ();
newMDIChild.GetGender = gender;
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
...