/// <summary> /// pnl 的顺序,以及个数 /// </summary> private void PnlOrd() { int InParkDevCount = 0; int OutParkDevCount = 0; int incount = 0; int outcount = 0; DataTable tab = new DataTable(); tab.Columns.Add("通讯站址"); string[] address = GetStatAddress(); foreach (string str in address) { DataRow dr = tab.NewRow(); dr["通讯站址"] = str; if (Convert.ToInt16(str) < 129) incount = incount + 1; if (Convert.ToInt16(str) >= 129) outcount = outcount + 1; tab.Rows.Add(dr); } if (tab == null) return; if (incount > 1) InParkDevCount = 2; else InParkDevCount = 1; if (outcount > 1) OutParkDevCount = 2; else OutParkDevCount = 1; Panel[] plIn = new Panel[InParkDevCount]; Panel[] plOut = new Panel[OutParkDevCount]; switch (InParkDevCount) { case 1: Panel[] pnlInOne = { p_in1 }; plIn = pnlInOne; break; case 2: Panel[] pnlInTwo = { p_in1, p_in2 }; plIn = pnlInTwo; break; } switch (OutParkDevCount) { case 1: Panel[] pnlOutOne = { p_out1 }; plOut = pnlOutOne; break; case 2: Panel[] pnlOutTwo = { p_out1, p_out2 }; plOut = pnlOutTwo; break; } Panel[] plInOut = new Panel[plIn.Length + plOut.Length]; plIn.CopyTo(plInOut, 0); int index = plIn.Length; plOut.CopyTo(plInOut, index); VideoView(plInOut); }