繁体   English   中英

C#许多父母形成一个孩子

[英]c# Many Parent forms one child

我有Parent_1,Parent_2,Parent_3等,并且有一个子窗体

在Parent_1,Parent_2,Parent_3中...我有:

private string strText;
public string pubText { 
get { return strText; } 
set { strText = value; } }

在按钮上:

private void btbutton1_Click(object sender, EventArgs e)
        {
            var form = new fChild(this);
            form.ShowDialog();
        }

在子窗体中,我有以下代码:

private Parent_1 logicalParent;
public fChild(Parent_1 parent)
{
     InitializeComponent();
     logicalParent = parent;
     this.FormClosed += new FormClosedEventHandler(child_FormClosed);
}

void child_FormClosed(object sender, FormClosedEventArgs e)
{
     logicalParent.pubText = this.textBox1.Text;
}

这仅适用于1个父表单,我如何将其用于其他父表单? 请帮忙

您可以为三种父表单创建一个公共接口:

public interface IParentForm
{
    string PubText {get; set;}
}

public class Parent_1 : Form, IParentForm
{
    public string PubText
    {
         get { return this.pubText; }
         set { this.pubText = value; }
    }
}

//same for Parent_2 and 3

然后在你的孩子形式申报logicalParent为类型IParentForm ,并更改子窗体的构造函数是public fChild(IParentForm parent)

单击该按钮,执行以下操作:

  private void btbutton1_Click(object sender, EventArgs e)
    {
        var form = new fChild(this); // this is not more needed
        form.ShowDialog();
        pubText = form.pubText;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM