Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将值从MDI父窗体传递给子窗体_C#_Forms_Mdi - Fatal编程技术网

C#将值从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

我需要关于如何将值从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);
        }
我还临时放置了一个MessageBox,让我知道它是否真的从父窗体获取了值,但它只返回空值


我还尝试过,您正在创建两个childForm实例,一个用于指定性别,另一个用于显示。您只需要一个实例,请更改if-else语句

...
if (this.rbMale.Checked)
    {
       string gender= "MALE";    
       frmChild  newMDIChild = new frmChild (); 
       newMDIChild.GetGender = gender;
       newMDIChild.MdiParent = this; 
       newMDIChild.Show(); 
    }
...