c#-从子窗体设置MDIparent的文本框值

c#-从子窗体设置MDIparent的文本框值,c#,mdiparent,C#,Mdiparent,在我的应用程序中,我需要从子窗体中的一个事件设置父窗体中TextBox控件的值 我试过这个 public string textboxvalue { get { return textBox2.Text; } set { textBox2.Text = value; } } 在MDIParent中,并在子窗体事件中使用以下代码 MDIParent1 mdiparent = new MDIParent1(); m

在我的应用程序中,我需要从子窗体中的一个事件设置父窗体中TextBox控件的值

我试过这个

        public string textboxvalue { 
        get { return textBox2.Text; } 
        set { textBox2.Text = value; } }
在MDIParent中,并在子窗体事件中使用以下代码

        MDIParent1 mdiparent = new MDIParent1();
        mdiparent.textboxvalue = webBrowser1.Url.ToString();

这是行不通的;请帮助…

这不起作用,因为您正在父窗体的新实例上设置文本值。这样做-

创建子类,使其包含所有者表单,然后设置所有者文本值将实现您的目的

public class MDIParent : Form
{
    public void CreateChild()
    {
        ChildForm child = new ChildForm(this);
    }

    public string textboxvalue
    {
        get { return textBox2.Text; }
        set { textBox2.Text = value; }
    }
}

public class ChildForm : Form
{
    private Form _frmParent;

    public ChildForm(Form parent)
    {
        _frmParent = parent;
        // IntializeComponent();
    }

    public void SetText()
    {
        if (_frmParent != null)
        {
            _frmParent.textboxvalue = webBrowser1.Url.ToString();
        }
    }
}

在子窗体中添加此代码

 ((MDIParent1)this.MdiParent).textboxvalue = webBrowser1.Url.ToString();

我已将此添加到子窗体中。仍然没有更新MDIPRENT窗体中MDIPRENT窗体的文本框值。在MDIPRENT窗体中,是否设置了子窗体的MDIPRENT属性?“代码'childform frm=new childform();frm.MdiParent=此;frm.Show();