public void DrawTimer_Tick(Object obj, EventArgs args) { StartDTe = StartDTe.AddMilliseconds(1000);//每次增加1s label7.Text = "當前時間:" + StartDTe.ToString(); if (CurIndex >= PickTags.Length) { Stop(); return; } float scalew, scaleh; if (DateTime.Compare(StartDTe, PickTags[CurIndex].ReportTime) >= 0) {//画出当前的地图 string StrTagID = PickTags[CurIndex].TD[0].ToString("X2") + PickTags[CurIndex].TD[1].ToString("X2"); string StrRouterID = PickTags[CurIndex].RD_New[0].ToString("X2") + PickTags[CurIndex].RD_New[1].ToString("X2"); Area CurArea = CommonBoxOperation.GetAreaFromRouterID(StrRouterID); if (CurArea != null) { if (null == CurArea.Name || "".Equals(CurArea.Name)) { CurAreaLabel.Text = "當前區域:" + CurArea.ID[0].ToString("X2") + CurArea.ID[1].ToString("X2"); } else { CurAreaLabel.Text = "當前區域:" + CurArea.Name + "(" + CurArea.ID[0].ToString("X2") + CurArea.ID[1].ToString("X2") + ")"; } BasicRouter CurBasic = CommonBoxOperation.GetBasicRouter(StrRouterID); CurBasic.isReport = true; string StrTagInfor = ""; string StrTagName = CommonBoxOperation.GetTagName(StrTagID); if (null == StrTagName || "".Equals(StrTagName)) { StrTagInfor = StrTagID; } else { StrTagInfor = StrTagName + "(" + StrTagID + ")"; } scalew = (float)TrackPanel.Width / CurArea.AreaBitMap.MyBitmap.Width; scaleh = (float)TrackPanel.Height / CurArea.AreaBitMap.MyBitmap.Height; TrackBtm = new Bitmap(655, 358); TrackBtm = new Bitmap(CurArea.AreaBitMap.MyBitmap, TrackPanel.Width, TrackPanel.Height); //画Router的信息 DrawAreaMap.DrawBasicRouter(TrackBtm, CurArea.ID[0].ToString("X2") + CurArea.ID[1].ToString("X2"), 1, scalew, scaleh); //画Tag的信息 if (null != CurBasic) { if (PickTags[CurIndex].isAlarm == 0x03) { Graphics.FromImage(TrackBtm).FillEllipse(SimpleBrush, CurBasic.x * scalew - 8, CurBasic.y * scaleh - 32, ConstInfor.TagR * 2, ConstInfor.TagR * 2); Graphics.FromImage(TrackBtm).DrawString(StrTagInfor, new Font("宋体", 10), SimpleBrush, CurBasic.x * scalew - 5, CurBasic.y * scaleh - 42); } else if (PickTags[CurIndex].isAlarm == 0x04) { Graphics.FromImage(TrackBtm).FillEllipse(AlarmBrush, CurBasic.x * scalew - 8, CurBasic.y * scaleh - 32, ConstInfor.TagR * 2, ConstInfor.TagR * 2); Graphics.FromImage(TrackBtm).DrawString(StrTagInfor, new Font("宋体", 10), AlarmBrush, CurBasic.x * scalew - 5, CurBasic.y * scaleh - 42); } } TrackPanel_Paint(null, null); } CurIndex++; } }