Ejemplo n.º 1
0
        private void readDataThread()
        {
            try
            {
                Graphics     g        = pictureBox1.CreateGraphics();
                Pen          pn1      = new Pen(Color.White);
                Pen          pn2      = new Pen(Color.RoyalBlue);
                List <Point> points1a = new List <Point>();                   //存直线连接的点
                List <Point> points1b = new List <Point>();                   //存直线连接的点
                points1a.Add(new Point(1, 1)); points1a.Add(new Point(1, 1)); //初始化存直线连接的点
                points1b.Add(new Point(1, 1)); points1b.Add(new Point(1, 1)); //初始化存直线连接的点
                int    x      = 0;
                int    sa     = 0;
                string lkaskd = "";
                while (true)
                {
                    int[] lklks = cs.ReadData();
                    //lkaskd = cs.ReadData1();
                    if (lklks[0] == 1111)
                    {
                        //label2.Text = "11";
                        continue;
                    }

                    //label2.Text = "22";
                    for (int j = 0; j < 93; j++)
                    {
                        for (int i = 0; i < 500; i++)
                        {
                            sa++;
                            if (sa % 10 == 0)
                            {
                                x++;
                                if (x < 800)
                                {
                                    points1a.Add(new Point(x, 150 + lklks[i + 2000 * j + 500 * (channel - 1)]));
                                }
                                else if (x == 800)
                                {
                                    g.DrawLines(pn1, points1b.ToArray()); //points1b填白清空
                                    points1b.Clear();
                                    g.DrawLines(pn2, points1a.ToArray()); //points1a画黑线
                                }
                                else if (x < 1600)
                                {
                                    points1b.Add(new Point(x - 800, 150 + lklks[i + 2000 * j + 500 * (channel - 1)]));
                                }
                                if (x == 1600)
                                {
                                    g.DrawLines(pn1, points1a.ToArray()); //points1a填白清空
                                    points1a.Clear();
                                    g.DrawLines(pn2, points1b.ToArray()); //points1b画黑线
                                    x = 0;
                                }
                            }
                            if (sa > 1000)
                            {
                                sa = 0;
                            }
                        }
                        //if (sa>=2)
                        //{
                        //    break;
                        //    //break;
                        //}
                    }
                    //break;
                }
                MessageBox.Show(lkaskd);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }