将TextBox文本发送给用户控件

时间:2017-11-18 05:11:15

标签: winforms textbox user-controls

我有一个问题,我不确定如何继续并寻求一些指示。

这是我的场景,我有一个带有panel1的Form1,我可以在这些用户控件中的每个用户控件中加载3个不同的用户控件(UserControl1,UserControl2和UserControl3)我可以打开Form2,它有几个TextBox。

我需要的是每当我点击Form2上的按钮时,所有TextBox文本都会被发送到打开Form2的用户控件。

我不确定我的问题是否清楚,如果有人可以帮助我,我感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

这取决于您如何创建新表单。检查this它包含两个方案。

儿童表格:

public partial class Child : Form
    {
        public event NotifyParentHandler NotifyParent;
        public delegate void NotifyParentHandler(string textValue);

        public Child()
        {
            InitializeComponent();
        }

    private void btnNotify_Click(object sender, EventArgs e)
    {
        //assuming that you want to send the value when clicking a button
        if (this.NotifyParent != null)
        {
            this.NotifyParent(textBox1.Text);
        }
    }
}

父表格

public partial class Parent : Form
    {
        private Child childForm;

        public Parent()
        {
            InitializeComponent();
        }

    private void btnOpenChildForm_Click(object sender, EventArgs e)
    {
        // Open the child form
        childForm = new Child();
        childForm.NotifyParent += childForm_NotificationTriggered;
        childForm.ShowDialog();
    }

    void childForm_NotificationTriggered(string textValuePassed)
    {
       //here you can do anything 
    }
}