2017-09-23 126 views
0

我需要帮助,了解如何将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); 
     } 

我也暂时把一个消息让我知道,如果它真的从父获取价值表单,但它只返回空。

我也试过thisthis

回答

0

您建立childForm的两个实例,一个用于分配的性别和其他用于显示它。您只需要一个实例,更改您的if else语句

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

THANK YOU !!!我没有注意到这一点。现在我在嘲笑自己。再次感谢! – itsmePJ

相关问题