c# - 从子表单设置MDI父文本框的值

时间:2015-02-16 05:30:25

标签: c# mdiparent

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

我试过了;

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

并在子表单事件中使用以下代码

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

这不起作用;请帮助...

2 个答案:

答案 0 :(得分:0)

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

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

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();
        }
    }
}

答案 1 :(得分:0)

在子表单中添加此代码

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