/// <summary> /// 图示显示内容 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void pnlPhoto_Paint(object sender, PaintEventArgs e) { try { //图例 Graphics g = pnlPhoto.CreateGraphics(); Pen pen = new Pen(Color.Red); BllScreen bllScreen = new BllScreen(); for (int i = 0; i < showContents.Count; i++) { DataTable dtScreen = bllScreen.GetScreenInfo($"and AreaId ='{showContents[i].AreaId}'");//查询区域对应的屏幕数量 //偶数画框 if (i % 2 == 0) { if (showContents[i].ByOrder == 0) { //顺序画屏幕框 for (int j = 0; j < dtScreen.Rows.Count; j++) { g.DrawRectangle(pen, 100 + j * 40, 150 * i / 2 + 20, 25, 25); if (j + 1 == showContents[i].ScreenID) { g.DrawString(showContents[i].AllContents.Replace(",", " "), new Font("微软雅黑", 12), Brushes.Black, 105 + j * 40, 150 * i / 2 + 20); } } } else { //倒序画屏幕框 for (int j = 0; j < dtScreen.Rows.Count; j++) { g.DrawRectangle(pen, 100 + j * 40, 150 * i / 2 + 20, 25, 25); if (j == showContents[i].ScreenID - showContents[i].GroupNum) { g.DrawString(showContents[i].AllContents.Replace(",", " "), new Font("微软雅黑", 12), Brushes.Black, 105 + j * 40, 150 * i / 2 + 20); } } } g.DrawRectangle(pen, 100, 150 * i / 2 + 50, 900, 70); g.DrawString("区域:" + showContents[i].AreaId + " 配置编号 " + showContents[i].ConfigName + " 编组:" + showContents[i].GroupNum + " 开始时间:" + showContents[i].BeginTime + " 结束时间:" + showContents[i].EndTime, new Font("微软雅黑", 12), Brushes.Black, 120, 150 * i / 2 + 60); } else //奇数不用画大框 { if (showContents[i].ByOrder == 0) { //顺序画屏幕框 for (int j = 0; j < dtScreen.Rows.Count; j++) { g.DrawRectangle(pen, 100 + j * 40, 150 * (i - 1) / 2 + 125, 25, 25); if (j + 1 == showContents[i].ScreenID) { g.DrawString(showContents[i].AllContents.Replace(",", " "), new Font("微软雅黑", 12), Brushes.Black, 105 + j * 40, 150 * (i - 1) / 2 + 125); } } } else { //倒序画屏幕框 for (int j = 0; j < dtScreen.Rows.Count; j++) { g.DrawRectangle(pen, 100 + j * 40, 150 * (i - 1) / 2 + 125, 25, 25); if (j == showContents[i].ScreenID - showContents[i].GroupNum) { g.DrawString(showContents[i].AllContents.Replace(",", " "), new Font("微软雅黑", 12), Brushes.Black, 105 + j * 40, 150 * (i - 1) / 2 + 125); } } } g.DrawString("区域:" + showContents[i].AreaId + " 配置编号 " + showContents[i].ConfigName + " 编组:" + showContents[i].GroupNum + " 开始时间:" + showContents[i].BeginTime + " 结束时间:" + showContents[i].EndTime, new Font("微软雅黑", 12), Brushes.Black, 120, 150 * (i - 1) / 2 + 90); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }