C#关于子窗体问题,如何将子窗体和实例进行关联

问题遇到的现象和发生背景
现在做个项目,使用socket的tcp/Ip连接,预期要求是我作为服务端监听着一百台设备,每一台都应该有对应的控制界面的状态显示界面,窗体界面都是一样的,不同的是其中关联的equip。我在编程中只创建一个form,运行中有什么方法可以让100台设备都打开对应自己的form窗体吗?总不会要编100个窗体吧,刚学C#没多久,但应该是有合适的方法。

FormMain中
Form1 frm1=new Form1(equip);//窗口中传入equip参数,也可以用数组或者list等。
frm1.show();

把equip放进数组里,然后循环创建form1.

            string[] equip = new string[] {"1", "2", "3", "4", "5"};
            List<Form1> forms = new List<Form1>(5);
            for (int i = 0; i < 5; i++)
            {
                forms[i]=new Form1(equip[i]);
                forms[i].Show();
            }