C# 如何从tabpage中的嵌入表单检索文本框?

C# 如何从tabpage中的嵌入表单检索文本框?,c#,forms,C#,Forms,我是C#的新手,我有一个带有tabcontrol的父窗体(form1)。第一个标签是静态的,我有一些东西在里面。之后,我可以通过一个按钮在选项卡上添加嵌入表单(所有表单都是相同的form2)。新创建的表单都有一个文本框,我想从中检索textboxname.Text并将其写入form1中tabcontrol之外的文本框中 在表格2中,我添加了 公共文本框文本框1 { 得到 { 返回文本框1; } } 在form1中,私有form1另一种形式 但是我不知道从那里开始我想我必须做一个foreach(t

我是C#的新手,我有一个带有tabcontrol的父窗体(form1)。第一个标签是静态的,我有一些东西在里面。之后,我可以通过一个按钮在选项卡上添加嵌入表单(所有表单都是相同的form2)。新创建的表单都有一个文本框,我想从中检索textboxname.Text并将其写入form1中tabcontrol之外的文本框中

在表格2中,我添加了 公共文本框文本框1 { 得到 { 返回文本框1; } } 在form1中,私有form1另一种形式


但是我不知道从那里开始我想我必须做一个foreach(tabControl1.TabPages中的TabPage tab),但我不确定^^

试试这个……关键是你需要将TabPage中的控件强制转换回Form2,然后才能访问添加到其中的属性:

    private void button2_Click(object sender, EventArgs e)
    {
        if (tabControl1.SelectedTab != null)
        {
            if (tabControl1.SelectedTab.Controls.Count > 0)
            {
                if (tabControl1.SelectedTab.Controls[0] is Form2)
                {
                    Form2 f2 = (Form2)tabControl1.SelectedTab.Controls[0];
                    label1.Text = f2.TextBox1.Text;
                }
            }
        }
    }

当您想要读取选项卡中文本框的值时,可以找到静态表单的父控件,然后调用
findcontrolsbyname
,然后遍历列表,然后获取其值并显示在静态页面中。