public override void Dispose(string msg) { Console.WriteLine(msg); try { if (Remote != null) { lock (this) { if (Remote != null) { Remote = null; IsAvailable = false; UdpClient.Close(); UdpClient.Dispose(); SendLine.Clear(); MessageLine.Clear(); } } } } catch (Exception e) { Console.WriteLine("Dispose " + e.Message); } }
private void CanvasAdd2() { Line Reav = new Line(); Line ReavSYG; Line Send = new Line(); Line SendSYG; if (ReadLine.Count == 0) { Reav.X1 = 0; Reav.Y1 = 10; if (R == 0) { Reav.X2 = 5; Reav.Y2 = 15; } else { Reav.X2 = Reav.X1 + (R / 10); Reav.Y2 = -(Reav.X2 + 10); } } else { ReavSYG = (Line)ReadLine[ReadLine.Count - 1]; Reav.X1 = ReavSYG.X2; Reav.Y1 = ReavSYG.Y2; if (R == 0) { Reav.X2 = ReavSYG.X1 + 5; Reav.Y2 = Reav.X2 + 10; } else { Reav.X2 = Reav.X1 + (R / 10); Reav.Y2 = -(Reav.X2 + 10); } //调整线条位置 if (Reav.X2 > 200) { for (int i = 0; i < ReadLine.Count; i++) { Line u = ReadLine[i]; Canvas1.Children.Remove(u); } ReadLine.Clear(); return; } } if (SendLine.Count == 0) { Send.X1 = 0; Send.Y1 = 10; if (S == 0) { Send.X2 = 5; //长度 Send.Y2 = 15; //下降 } else { Send.X2 = Send.X1 + (S / 4); //长度 Send.Y2 = -(Send.X2 + 10); //上升 } } else { SendSYG = (Line)SendLine[SendLine.Count - 1]; Send.X1 = SendSYG.X2; Send.Y1 = SendSYG.Y2; if (S == 0) { Send.X2 = SendSYG.X1 + 5; //长度 Send.Y2 = Send.X2 + 10; //下降 } else { Send.X2 = Send.X1 + (S / 4); //长度 Send.Y2 = -(Send.X2 + 10); //上升 } //调整线条位置 if (Send.X2 > 200) { for (int i = 0; i < SendLine.Count; i++) { Line u = SendLine[i]; Canvas1.Children.Remove(u); } SendLine.Clear(); return; } } BrushConverter ie = new BrushConverter(); Brush brush = (Brush)ie.ConvertFromString("#DC143C"); Send.Stroke = brush; Send.StrokeThickness = 3; Canvas.SetTop(Send, 200); SendLine.Add(Send); brush = (Brush)ie.ConvertFromString("#4682B4"); Reav.Stroke = brush; Reav.StrokeThickness = 3; Canvas.SetTop(Reav, 180); ReadLine.Add(Reav); Debug.WriteLine(ProcInfo.CpuTime); Canvas1.Children.Add(Reav); Canvas1.Children.Add(Send); //this.stakpanal1.Children.Add(element); }