Пример #1
0
 /// <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());
     }
 }