2017-09-23 128 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

相關問題