怎么在 tabpages 控件 按页内控件 刷新数据

如何在 tabpages 控件 按页内控件 刷新数据?
界面放一个 tabpages控件
 
运行后,根据客户端IP,动态增加页,且每个页上放一个TextBox控件,用于显示,且只显示该IP客户端送来的数据。

在界面加了个文本框,用于模拟,不同IP客户端。

现在情况

1  当一个客户端时,即同一个IP送来的数据,在TAB控件上,增加了一个页(以IP地址命名的),且该页TEXTBOX也能显示该IP送来的数据。

2 当,模拟第二个客户端(IP2),在TAB控件上,也增加了,以IP地址命名的新页,且可以显示IP2过来的数据。

3 当,再用第一个IP,模拟送数据时,本该显示在名字为IP1的页中,却显示在名称为IP2的页上了,这个咋解决?


声明
List<string> tabNames = new List<string>();
       
        System.Windows.Forms.TextBox tb2 = new TextBox();

按钮

private void button2_Click(object sender, EventArgs e)
        {

            string ipNames = textBox1.Text;
            if (ipNames == tabNames.Find(s => s == ipNames))
            {

                tb2.Text = tb2.Text + ":  " + tabIndex.ToString();

            }
// 问题就出在这里,该如何处理?


            else
            {
                tb2 = new TextBox();
                tb2.Multiline = true;
                tb2.Dock = DockStyle.Fill;

                TabPage tpage = new TabPage();
                tpage.Text = textBox1.Text;
                tpage.Name = textBox1.Text;
                tpage.Controls.Add(tb2);
                tabControl1.TabPages.Add(tpage);
                tabNames.Add(textBox1.Text);
                tb2.Text = "test";
                tb2.Name = textBox1.Text;                
            }

        }

------解决方案--------------------
确认你的查找条件吧,肯定是没匹配对,你的textbox1和tb2都是按名称写死的,如果page页多了,你怎么办
------解决方案--------------------
你这个问题,跟Listbox那个,有任何区别么?
数据来了,先放数组里,不要直接给控件
然后你要判断当前选择的是哪个页面,将对应的数据显示出来.
------解决方案--------------------
if (ipNames == tabNames.Find(s => s == ipNames)
不需要再额外搞个tabNames去纪录

private void button2_Click(object sender, EventArgs e)
        {
            string ipNames = textBox1.Text;
            var tPage  = tabControl1.TabPages[ipNames];
            if(tPage == null)
            {
                        TabPage tpage = new TabPage();                        
                        tpage.Text = textBox1.Text;
                        tpage.Name = textBox1.Text;
                        tb2 = new TextBox();
                        tb2.Multiline = true;
                        tb2.Dock = DockStyle.Fill;
                        tpage.Controls.Add(tb2);