C# 将值从 MDI 父窗体传递给子窗体
C# Passing of value from MDI parent form to child
我需要有关如何将值从 MDI 父窗体传递到子窗体的帮助。
在我的父表单中,我有两个单选按钮,MALE 和 FEMALE,我将选择其中一个,然后单击按钮将分配的值发送到子表单。
请在下面查看我的代码:
家长表格:
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 让我知道它是否真的从父表单中获取值,但它只是 returns 空。
我也试过了 and this
您正在创建 childForm 的两个实例,一个用于指定性别,另一个用于显示它。您只需要一个实例,更改您的 if else 语句
...
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild newMDIChild = new frmChild ();
newMDIChild.GetGender = gender;
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
...
我需要有关如何将值从 MDI 父窗体传递到子窗体的帮助。 在我的父表单中,我有两个单选按钮,MALE 和 FEMALE,我将选择其中一个,然后单击按钮将分配的值发送到子表单。 请在下面查看我的代码:
家长表格:
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 让我知道它是否真的从父表单中获取值,但它只是 returns 空。
我也试过了
您正在创建 childForm 的两个实例,一个用于指定性别,另一个用于显示它。您只需要一个实例,更改您的 if else 语句
...
if (this.rbMale.Checked)
{
string gender= "MALE";
frmChild newMDIChild = new frmChild ();
newMDIChild.GetGender = gender;
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
...